Play handles
In LMMS, play handles manage playback of notes, instruments, or sample clips. All play handles are managed by subclasses of PlayHandle
.
Types of play handles
There are several types of PlayHandle
s defined:
NotePlayHandle
: managesNote
s being played, and get audio output for specific noteInstrumetnPlayHandle
: manages instruments which provides per-instrument audio output(single-streamed instruments)SamplePlayHandle
: manages sample playbackPresetPreviewHandle
SampleRecordHandle
Important member variables and functions
m_offset
(typef_cnt_t
): The number remaining of audio frames before the play handle starts to produce audio, evaluated at the beginning of a rendering period
Functions which subclasses should implement
PlayHandle
itself can't be used directly because it doesn't implement some of the required functionalities.
play(sampleFrame *buf)
: Render a period of audio buffer tobuf
and check/manage the playback state of the managed objectisFinished()
: Return whether the managed object finished playing andthis
can be deletedisFromTrack(const Track *track)
: Check if the play handle plays objects in the giventrack
Last updated