diff options
author | Robin Gareus <robin@gareus.org> | 2019-02-17 01:51:29 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2019-02-17 01:51:49 +0100 |
commit | 2ec28f3ce71faf596161f2210fc334f7521d1e93 (patch) | |
tree | c82a10ed7a1b504c902ad5a66bc62763be967aca /libs/ardour/ardour/plugin.h | |
parent | 4ee15fa7b3c0584e01f7978f2c7a99e5df3a6ed3 (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.h | 8 |
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; |