summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r--libs/ardour/ardour/midi_diskstream.h2
-rw-r--r--libs/ardour/ardour/midi_ring_buffer.h2
-rw-r--r--libs/ardour/ardour/midi_track.h2
-rw-r--r--libs/ardour/ardour/plugin.h4
-rw-r--r--libs/ardour/ardour/plugin_insert.h2
-rw-r--r--libs/ardour/ardour/processor.h7
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.