summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/latent.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/latent.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/latent.h')
-rw-r--r--libs/ardour/ardour/latent.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/libs/ardour/ardour/latent.h b/libs/ardour/ardour/latent.h
index b7d9a3fcd5..194dbe3a72 100644
--- a/libs/ardour/ardour/latent.h
+++ b/libs/ardour/ardour/latent.h
@@ -25,12 +25,18 @@
namespace ARDOUR {
-class LIBARDOUR_API Latent {
+class LIBARDOUR_API HasLatency {
public:
- Latent() : _user_latency (0) {}
+ virtual ~HasLatency() {}
+ virtual samplecnt_t signal_latency() const = 0;
+};
+
+class LIBARDOUR_API Latent : public HasLatency {
+public:
+ Latent ();
+ Latent (Latent const&);
virtual ~Latent() {}
- virtual samplecnt_t signal_latency() const = 0;
/* effective latency to be used while processing */
samplecnt_t effective_latency() const {
@@ -77,6 +83,7 @@ protected:
private:
samplecnt_t _use_user_latency;
samplecnt_t _user_latency;
+
static bool _zero_latency;
};