From 3cffaeac74163535295513488756c55ba5e2dffa Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sat, 16 Feb 2019 00:13:30 +0100 Subject: Prepare to allow to disable latency-compensation Previously "zero custom/user latency" meant "default plugin latency". This is now saved in a separate boolean allowing a user to reduce a processor's latency to zero. This also prepares for a global switch to use zero latency throughout the whole session. --- libs/ardour/plugin_insert.cc | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) (limited to 'libs/ardour/plugin_insert.cc') diff --git a/libs/ardour/plugin_insert.cc b/libs/ardour/plugin_insert.cc index 3435fd2241..a4a5ad1972 100644 --- a/libs/ardour/plugin_insert.cc +++ b/libs/ardour/plugin_insert.cc @@ -651,8 +651,10 @@ PluginInsert::activate () if (!owner ()) { return; } - if (_plugin_signal_latency != signal_latency ()) { - _plugin_signal_latency = signal_latency (); + + const samplecnt_t l = effective_latency (); + if (_plugin_signal_latency != l) { + _plugin_signal_latency = l; latency_changed (); } } @@ -671,8 +673,10 @@ PluginInsert::deactivate () for (Plugins::iterator i = _plugins.begin(); i != _plugins.end(); ++i) { (*i)->deactivate (); } - if (_plugin_signal_latency != signal_latency ()) { - _plugin_signal_latency = signal_latency (); + + const samplecnt_t l = effective_latency (); + if (_plugin_signal_latency != l) { + _plugin_signal_latency = l; latency_changed (); } } @@ -1063,8 +1067,9 @@ PluginInsert::connect_and_run (BufferSet& bufs, samplepos_t start, samplepos_t e } } - if (_plugin_signal_latency != signal_latency ()) { - _plugin_signal_latency = signal_latency (); + const samplecnt_t l = effective_latency (); + if (_plugin_signal_latency != l) { + _plugin_signal_latency = l; latency_changed (); } } @@ -2906,11 +2911,7 @@ PluginInsert::signal_latency() const if (!_pending_active) { return 0; } - if (_user_latency) { - return _user_latency; - } - - return _plugins[0]->signal_latency (); + return plugin_latency (); } ARDOUR::PluginType -- cgit v1.2.3