X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=libs%2Fardour%2Fardour%2Fmidi_source.h;h=5298ab2f4fe25fb93d40b8281cc96ea3450c3ab1;hb=539a692b0e9d249cab75a2d1c255f8cbef8bcf6b;hp=bffcde51925112244c5c5e843daf9e81d6a3f72f;hpb=a86b994c683b981c395f829082abef67add2424a;p=ardour.git diff --git a/libs/ardour/ardour/midi_source.h b/libs/ardour/ardour/midi_source.h index bffcde5192..5298ab2f4f 100644 --- a/libs/ardour/ardour/midi_source.h +++ b/libs/ardour/ardour/midi_source.h @@ -34,6 +34,7 @@ namespace ARDOUR { +class MidiStateTracker; class MidiModel; template class MidiRingBuffer; @@ -55,11 +56,12 @@ class MidiSource : virtual public Source * \param cnt Length of range to be read (in audio frames) * \param stamp_offset Offset to add to event times written to dst * \param negative_stamp_offset Offset to subtract from event times written to dst + * \param tracker an optional pointer to MidiStateTracker object, for note on/off tracking */ virtual nframes_t midi_read (MidiRingBuffer& dst, - sframes_t source_start, - sframes_t start, nframes_t cnt, - sframes_t stamp_offset, sframes_t negative_stamp_offset) const; + sframes_t source_start, + sframes_t start, nframes_t cnt, + sframes_t stamp_offset, sframes_t negative_stamp_offset, MidiStateTracker*) const; virtual nframes_t midi_write (MidiRingBuffer& src, sframes_t source_start, @@ -113,9 +115,10 @@ class MidiSource : virtual public Source virtual void flush_midi() = 0; virtual nframes_t read_unlocked (MidiRingBuffer& dst, - sframes_t position, - sframes_t start, nframes_t cnt, - sframes_t stamp_offset, sframes_t negative_stamp_offset) const = 0; + sframes_t position, + sframes_t start, nframes_t cnt, + sframes_t stamp_offset, sframes_t negative_stamp_offset, + MidiStateTracker* tracker) const = 0; virtual nframes_t write_unlocked (MidiRingBuffer& dst, sframes_t position,