summaryrefslogtreecommitdiff
path: root/libs/ardour
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2019-02-17 02:22:03 +0100
committerRobin Gareus <robin@gareus.org>2019-02-17 02:22:03 +0100
commit6d7bc4ea3009dc020f1b4c23ca8fa0d11d602122 (patch)
tree2be6e3d9fb387891b6f9e5769f239dad39ebbfaa /libs/ardour
parent2ec28f3ce71faf596161f2210fc334f7521d1e93 (diff)
Emit signal when plugin latency changes
Diffstat (limited to 'libs/ardour')
-rw-r--r--libs/ardour/ardour/latent.h4
-rw-r--r--libs/ardour/plugin_insert.cc5
2 files changed, 8 insertions, 1 deletions
diff --git a/libs/ardour/ardour/latent.h b/libs/ardour/ardour/latent.h
index 194dbe3a72..8d44e4cffc 100644
--- a/libs/ardour/ardour/latent.h
+++ b/libs/ardour/ardour/latent.h
@@ -20,6 +20,8 @@
#ifndef __ardour_latent_h__
#define __ardour_latent_h__
+#include "pbd/signals.h"
+
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
@@ -76,6 +78,8 @@ public:
return _zero_latency;
}
+ PBD::Signal0<void> LatencyChanged;
+
protected:
int set_state (const XMLNode& node, int version);
void add_state (XMLNode*) const;
diff --git a/libs/ardour/plugin_insert.cc b/libs/ardour/plugin_insert.cc
index a4a5ad1972..3d7fe164db 100644
--- a/libs/ardour/plugin_insert.cc
+++ b/libs/ardour/plugin_insert.cc
@@ -3184,7 +3184,10 @@ PluginInsert::latency_changed ()
{
// this is called in RT context, LatencyChanged is emitted after run()
_latency_changed = true;
- // XXX This also needs a proper API not an owner() hack.
+ LatencyChanged (); /* EMIT SIGNAL */
+ // XXX This needs a proper API not an owner() hack:
+ // TODO Route should subscribe to LatencyChanged() and forward it
+ // to the session as processor_latency_changed.
assert (owner ());
static_cast<Route*>(owner ())->processor_latency_changed (); /* EMIT SIGNAL */
}