diff options
Diffstat (limited to 'libs/ardour/ardour/midi_source.h')
-rw-r--r-- | libs/ardour/ardour/midi_source.h | 15 |
1 files changed, 9 insertions, 6 deletions
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<typename T> 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<nframes_t>& 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<nframes_t>& 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<nframes_t>& 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<nframes_t>& dst, sframes_t position, |