diff options
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r-- | libs/ardour/ardour/midi_diskstream.h | 2 | ||||
-rw-r--r-- | libs/ardour/ardour/midi_ring_buffer.h | 2 | ||||
-rw-r--r-- | libs/ardour/ardour/midi_track.h | 2 | ||||
-rw-r--r-- | libs/ardour/ardour/plugin.h | 4 | ||||
-rw-r--r-- | libs/ardour/ardour/plugin_insert.h | 2 | ||||
-rw-r--r-- | libs/ardour/ardour/processor.h | 7 |
6 files changed, 19 insertions, 0 deletions
diff --git a/libs/ardour/ardour/midi_diskstream.h b/libs/ardour/ardour/midi_diskstream.h index 94eb56d9b5..23ae7addb0 100644 --- a/libs/ardour/ardour/midi_diskstream.h +++ b/libs/ardour/ardour/midi_diskstream.h @@ -65,6 +65,8 @@ class MidiDiskstream : public Diskstream void get_playback (MidiBuffer& dst, framecnt_t); void set_record_enabled (bool yn); + + void reset_tracker (); boost::shared_ptr<MidiPlaylist> midi_playlist () { return boost::dynamic_pointer_cast<MidiPlaylist>(_playlist); } diff --git a/libs/ardour/ardour/midi_ring_buffer.h b/libs/ardour/ardour/midi_ring_buffer.h index 14934456e1..4b352b3c4d 100644 --- a/libs/ardour/ardour/midi_ring_buffer.h +++ b/libs/ardour/ardour/midi_ring_buffer.h @@ -75,6 +75,8 @@ public: return g_atomic_int_get(&_channel_mask) & 0x0000FFFF; } + void reset_tracker (); + protected: inline bool is_channel_event(uint8_t event_type_byte) { // mask out channel information diff --git a/libs/ardour/ardour/midi_track.h b/libs/ardour/ardour/midi_track.h index 86eb8fd680..6ca48573d5 100644 --- a/libs/ardour/ardour/midi_track.h +++ b/libs/ardour/ardour/midi_track.h @@ -107,6 +107,8 @@ public: PBD::Signal1<void, boost::weak_ptr<MidiSource> > DataRecorded; boost::shared_ptr<MidiBuffer> get_gui_feed_buffer () const; + void set_monitoring (MonitorChoice); + void set_input_active (bool); bool input_active () const; PBD::Signal0<void> InputActiveChanged; diff --git a/libs/ardour/ardour/plugin.h b/libs/ardour/ardour/plugin.h index 9c073d4a19..0c2bcbdd93 100644 --- a/libs/ardour/ardour/plugin.h +++ b/libs/ardour/ardour/plugin.h @@ -141,6 +141,8 @@ class Plugin : public PBD::StatefulDestructible, public Latent } void realtime_handle_transport_stopped (); + void realtime_locate (); + void monitoring_changed (); struct PresetRecord { PresetRecord () : user (true) {} @@ -257,6 +259,8 @@ private: bool _have_pending_stop_events; PresetRecord _last_preset; bool _parameter_changed_since_last_preset; + + void resolve_midi (); }; PluginPtr find_plugin(ARDOUR::Session&, std::string unique_id, ARDOUR::PluginType); diff --git a/libs/ardour/ardour/plugin_insert.h b/libs/ardour/ardour/plugin_insert.h index b7a89b663f..48ce925d3f 100644 --- a/libs/ardour/ardour/plugin_insert.h +++ b/libs/ardour/ardour/plugin_insert.h @@ -77,6 +77,8 @@ class PluginInsert : public Processor bool is_midi_instrument() const; void realtime_handle_transport_stopped (); + void realtime_locate (); + void monitoring_changed (); struct PluginControl : public AutomationControl { diff --git a/libs/ardour/ardour/processor.h b/libs/ardour/ardour/processor.h index 08fd3ecd8d..fe23d6fdde 100644 --- a/libs/ardour/ardour/processor.h +++ b/libs/ardour/ardour/processor.h @@ -87,6 +87,13 @@ class Processor : public SessionObject, public Automatable, public Latent virtual void realtime_handle_transport_stopped () {} virtual void realtime_locate () {} + /* most processors won't care about this, but plugins that + receive MIDI or similar data from an input source that + may suddenly go "quiet" because of monitoring changes + need to know about it. + */ + virtual void monitoring_changed() {} + /* note: derived classes should implement state(), NOT get_state(), to allow us to merge C++ inheritance and XML lack-of-inheritance reasonably smoothly. |