summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/processor.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-09-19 02:10:38 +0200
committerRobin Gareus <robin@gareus.org>2017-09-19 02:11:22 +0200
commit10b76ae631d971611bcb389d18995942300d0404 (patch)
tree8fa12320f177b2745d8acdf6ceb3c37c34133459 /libs/ardour/ardour/processor.h
parent013088ca5f5d95654b43037685d835f212e38a8a (diff)
Various updates and fixes for Latency Compensation
* centralize signal_latency_at_***_position to processors * update initial-delay/roll-delay when processor order changes * consolidate signal-latency calculation: use the same method for processor-changes and session's post_playback_latency. * include relative output-delay in roll-delay * fix capture processor position & optimize stem-export latency (roll-delay fixes pending Route:roll() update)
Diffstat (limited to 'libs/ardour/ardour/processor.h')
-rw-r--r--libs/ardour/ardour/processor.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/libs/ardour/ardour/processor.h b/libs/ardour/ardour/processor.h
index fb77943a34..8f617abc19 100644
--- a/libs/ardour/ardour/processor.h
+++ b/libs/ardour/ardour/processor.h
@@ -70,9 +70,12 @@ class LIBARDOUR_API Processor : public SessionObject, public Automatable, public
virtual samplecnt_t signal_latency() const { return 0; }
- virtual void set_input_latency (samplecnt_t);
+ virtual void set_input_latency (samplecnt_t cnt) { _input_latency = cnt; }
samplecnt_t input_latency () const { return _input_latency; }
+ virtual void set_output_latency (samplecnt_t cnt) { _output_latency = cnt; }
+ samplecnt_t output_latency () const { return _output_latency; }
+
virtual int set_block_size (pframes_t /*nframes*/) { return 0; }
virtual bool requires_fixed_sized_buffers() const { return false; }
@@ -153,6 +156,7 @@ protected:
PluginPinWindowProxy *_pinmgr_proxy;
SessionObject* _owner;
samplecnt_t _input_latency;
+ samplecnt_t _output_latency;
};
} // namespace ARDOUR