diff options
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r-- | libs/ardour/ardour/disk_reader.h | 2 | ||||
-rw-r--r-- | libs/ardour/ardour/midi_track.h | 2 | ||||
-rw-r--r-- | libs/ardour/ardour/route.h | 2 | ||||
-rw-r--r-- | libs/ardour/ardour/rt_midibuffer.h | 5 | ||||
-rw-r--r-- | libs/ardour/ardour/track.h | 1 |
5 files changed, 9 insertions, 3 deletions
diff --git a/libs/ardour/ardour/disk_reader.h b/libs/ardour/ardour/disk_reader.h index 47812f54c8..64a72cdd35 100644 --- a/libs/ardour/ardour/disk_reader.h +++ b/libs/ardour/ardour/disk_reader.h @@ -24,6 +24,7 @@ #include "ardour/disk_io.h" #include "ardour/midi_buffer.h" +#include "ardour/midi_state_tracker.h" namespace ARDOUR { @@ -160,6 +161,7 @@ private: DeclickAmp _declick_amp; sampleoffset_t _declick_offs; + MidiStateTracker _tracker; int _do_refill_with_alloc (bool partial_fill); diff --git a/libs/ardour/ardour/midi_track.h b/libs/ardour/ardour/midi_track.h index f01cb1e79c..74d58e4db2 100644 --- a/libs/ardour/ardour/midi_track.h +++ b/libs/ardour/ardour/midi_track.h @@ -135,6 +135,8 @@ public: bool input_active () const; PBD::Signal0<void> InputActiveChanged; + void realtime_handle_transport_stopped (); + protected: XMLNode& state (bool save_template); diff --git a/libs/ardour/ardour/route.h b/libs/ardour/ardour/route.h index e11ddf8eca..18b1853436 100644 --- a/libs/ardour/ardour/route.h +++ b/libs/ardour/ardour/route.h @@ -157,7 +157,7 @@ public: virtual bool can_record() { return false; } void non_realtime_transport_stop (samplepos_t now, bool flush); - void realtime_handle_transport_stopped (); + virtual void realtime_handle_transport_stopped (); virtual void realtime_locate () {} virtual void non_realtime_locate (samplepos_t); diff --git a/libs/ardour/ardour/rt_midibuffer.h b/libs/ardour/ardour/rt_midibuffer.h index 4b7a669128..28d6e69233 100644 --- a/libs/ardour/ardour/rt_midibuffer.h +++ b/libs/ardour/ardour/rt_midibuffer.h @@ -32,6 +32,7 @@ namespace ARDOUR { class MidiBuffer; +class MidiStateTracker; /** */ class LIBARDOUR_API RTMidiBuffer : public Evoral::EventSink<samplepos_t> @@ -47,7 +48,9 @@ class LIBARDOUR_API RTMidiBuffer : public Evoral::EventSink<samplepos_t> size_t size() const { return _size; } uint32_t write (TimeType time, Evoral::EventType type, uint32_t size, const uint8_t* buf); - uint32_t read (MidiBuffer& dst, samplepos_t start, samplepos_t end, samplecnt_t offset = 0); + uint32_t read (MidiBuffer& dst, samplepos_t start, samplepos_t end, MidiStateTracker& tracker, samplecnt_t offset = 0); + + void dump (uint32_t); private: size_t _size; diff --git a/libs/ardour/ardour/track.h b/libs/ardour/ardour/track.h index 37182a88b9..90d5574b65 100644 --- a/libs/ardour/ardour/track.h +++ b/libs/ardour/ardour/track.h @@ -142,7 +142,6 @@ public: bool can_internal_playback_seek (samplecnt_t); void internal_playback_seek (samplecnt_t); void non_realtime_locate (samplepos_t); - void realtime_handle_transport_stopped (); bool overwrite_existing_buffers (); samplecnt_t get_captured_samples (uint32_t n = 0) const; void transport_looped (samplepos_t); |