summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-07-09 04:42:21 +0200
committerRobin Gareus <robin@gareus.org>2016-07-09 04:42:21 +0200
commit56c4eebfdd1033b9dd92ddcdf8698dda38545997 (patch)
tree03a41abf570ad6805fa6a5e8db038e3aa8b3d5a8 /libs/ardour/ardour
parent49c9569039f9c7d51e969affa447b270de9e60da (diff)
move LatencyChanged detection from Plugin to Processor (plugin-insert)
* support all Plugin APIs (not implementation specific) * also check for latency changes when plugins are hard en/disabled
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r--libs/ardour/ardour/plugin.h17
-rw-r--r--libs/ardour/ardour/plugin_insert.h3
2 files changed, 2 insertions, 18 deletions
diff --git a/libs/ardour/ardour/plugin.h b/libs/ardour/ardour/plugin.h
index bc32d7c3e6..df4b512ef7 100644
--- a/libs/ardour/ardour/plugin.h
+++ b/libs/ardour/ardour/plugin.h
@@ -225,23 +225,6 @@ class LIBARDOUR_API Plugin : public PBD::StatefulDestructible, public Latent
return 0;
}
- /** Emitted when a Latency Changes
- *
- * (this cannot be part of ARDOUR::Latent because
- * signals cannot be copy-constructed).
- */
- PBD::Signal2<void,framecnt_t, framecnt_t> LatencyChanged;
-
- /* overload Latent::set_user_latency w/signal emission */
- virtual void set_user_latency (framecnt_t val) {
- bool changed = val != _user_latency;
- framecnt_t old = effective_latency ();
- _user_latency = val;
- if (changed) {
- LatencyChanged (old, effective_latency ()); /* EMIT SIGNAL */
- }
- }
-
/** the max possible latency a plugin will have */
virtual framecnt_t max_latency () const { return 0; } // TODO = 0, require implementation
diff --git a/libs/ardour/ardour/plugin_insert.h b/libs/ardour/ardour/plugin_insert.h
index 6f7b10cd46..564feb0c63 100644
--- a/libs/ardour/ardour/plugin_insert.h
+++ b/libs/ardour/ardour/plugin_insert.h
@@ -310,6 +310,7 @@ class LIBARDOUR_API PluginInsert : public Processor
boost::shared_ptr<SideChain> _sidechain;
uint32_t _sc_playback_latency;
uint32_t _sc_capture_latency;
+ uint32_t _plugin_signal_latency;
boost::weak_ptr<Plugin> _impulseAnalysisPlugin;
@@ -368,7 +369,7 @@ class LIBARDOUR_API PluginInsert : public Processor
void start_touch (uint32_t param_id);
void end_touch (uint32_t param_id);
- void latency_changed (framecnt_t, framecnt_t);
+ void latency_changed ();
bool _latency_changed;
uint32_t _bypass_port;
};