summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/plugin.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2019-02-17 01:51:29 +0100
committerRobin Gareus <robin@gareus.org>2019-02-17 01:51:49 +0100
commit2ec28f3ce71faf596161f2210fc334f7521d1e93 (patch)
treec82a10ed7a1b504c902ad5a66bc62763be967aca /libs/ardour/ardour/plugin.h
parent4ee15fa7b3c0584e01f7978f2c7a99e5df3a6ed3 (diff)
Clean up Latency API (Processor vs Plugin)
Plugins are only a source of Latency (Plugin delay). The API to query, signal and override Latency is managed by PluginInsert.
Diffstat (limited to 'libs/ardour/ardour/plugin.h')
-rw-r--r--libs/ardour/ardour/plugin.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/libs/ardour/ardour/plugin.h b/libs/ardour/ardour/plugin.h
index 4f619e65ba..b8d1cd76c0 100644
--- a/libs/ardour/ardour/plugin.h
+++ b/libs/ardour/ardour/plugin.h
@@ -67,7 +67,7 @@ typedef std::set<uint32_t> PluginOutputConfiguration;
*
* Plugins are not used directly in Ardour but always wrapped by a PluginInsert.
*/
-class LIBARDOUR_API Plugin : public PBD::StatefulDestructible, public Latent
+class LIBARDOUR_API Plugin : public PBD::StatefulDestructible, public HasLatency
{
public:
Plugin (ARDOUR::AudioEngine&, ARDOUR::Session&);
@@ -337,6 +337,10 @@ class LIBARDOUR_API Plugin : public PBD::StatefulDestructible, public Latent
PBD::Signal1<void,uint32_t> StartTouch;
PBD::Signal1<void,uint32_t> EndTouch;
+ samplecnt_t signal_latency () const {
+ return plugin_latency ();
+ }
+
protected:
friend class PluginInsert;
@@ -370,6 +374,8 @@ protected:
private:
+ virtual samplecnt_t plugin_latency () const = 0;
+
/** Fill _presets with our presets */
virtual void find_presets () = 0;