diff options
author | Robin Gareus <robin@gareus.org> | 2017-09-19 02:10:38 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-09-19 02:11:22 +0200 |
commit | 10b76ae631d971611bcb389d18995942300d0404 (patch) | |
tree | 8fa12320f177b2745d8acdf6ceb3c37c34133459 /libs/ardour/ardour/processor.h | |
parent | 013088ca5f5d95654b43037685d835f212e38a8a (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.h | 6 |
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 |