diff options
author | David Robillard <d@drobilla.net> | 2007-08-11 06:17:42 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2007-08-11 06:17:42 +0000 |
commit | 5156998e6e2536c9c713974d3ae719a5d2ef5c7f (patch) | |
tree | 6223846321fe3f611b952b2c2e77c349d0b7072f /libs/ardour/ardour/midi_source.h | |
parent | 861181d7421012486e36327c464b957ec08e396b (diff) |
Saving of edited MIDI data to disk (on session save).
Seems to be a pretty random problem with note duration restoring though...
git-svn-id: svn://localhost/ardour2/trunk@2290 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/midi_source.h')
-rw-r--r-- | libs/ardour/ardour/midi_source.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libs/ardour/ardour/midi_source.h b/libs/ardour/ardour/midi_source.h index 2de31f879e..088175ab75 100644 --- a/libs/ardour/ardour/midi_source.h +++ b/libs/ardour/ardour/midi_source.h @@ -51,12 +51,17 @@ class MidiSource : public Source virtual nframes_t read (MidiRingBuffer& dst, nframes_t start, nframes_t cnt, nframes_t stamp_offset) const; virtual nframes_t write (MidiRingBuffer& src, nframes_t cnt); + virtual void append_event_unlocked(const MidiEvent& ev) = 0; + + virtual void flush() {} virtual void mark_for_remove() = 0; virtual void mark_streaming_midi_write_started (NoteMode mode); virtual void mark_streaming_write_started (); virtual void mark_streaming_write_completed (); + void set_timeline_position (nframes_t when) { _timeline_position = when; } + virtual void session_saved(); string captured_for() const { return _captured_for; } @@ -80,6 +85,7 @@ class MidiSource : public Source virtual bool model_loaded() const { return _model_loaded; } boost::shared_ptr<MidiModel> model() { return _model; } + void set_model(boost::shared_ptr<MidiModel> m) { _model = m; _model_loaded = true; } protected: virtual nframes_t read_unlocked (MidiRingBuffer& dst, nframes_t start, nframes_t cnt, nframes_t stamp_offset) const = 0; @@ -87,6 +93,7 @@ class MidiSource : public Source mutable Glib::Mutex _lock; string _captured_for; + uint64_t _timeline_position; mutable uint32_t _read_data_count; ///< modified in read() mutable uint32_t _write_data_count; ///< modified in write() |