summaryrefslogtreecommitdiff
path: root/libs/ardour/route.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-12-31 18:12:04 +0100
committerRobin Gareus <robin@gareus.org>2017-12-31 18:15:34 +0100
commit9fc68378c69927fb7efcaca5a03847b373333634 (patch)
treeb0d4b52167e35ad3455ea139ce0ee3d5604c6306 /libs/ardour/route.cc
parent7fb1f5e032ad7659a7d5c513956692da4bce4457 (diff)
Process Panner Automatables (emit Changed)
Pan-automation is evaluated directly from the control-list. ::distribute_automated() does not update the controls. However, the *owner* of each automation-control is responsible to evaluate automation of automated automation-controls (and emit Changed() signals to notify the GUI and slaved controls). This follow the same concept as PluginInsert: The Changed signal is called on demand when evaluating automation. This fixes pan-automation-sliders (automation-lane header) not updating.
Diffstat (limited to 'libs/ardour/route.cc')
-rw-r--r--libs/ardour/route.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc
index 639a0e19bc..ee31b2a4e7 100644
--- a/libs/ardour/route.cc
+++ b/libs/ardour/route.cc
@@ -335,6 +335,10 @@ Route::process_output_buffers (BufferSet& bufs,
*/
automation_run (start_sample, nframes);
+ if (_pannable) {
+ _pannable->automation_run (start_sample + _signal_latency, nframes);
+ }
+
/* figure out if we're going to use gain automation */
if (gain_automation_ok) {
_amp->set_gain_automation_buffer (_session.gain_automation_buffer ());
@@ -3090,6 +3094,9 @@ Route::silence_unlocked (samplecnt_t nframes)
// update owned automated controllables
automation_run (now, nframes);
+ if (_pannable) {
+ _pannable->automation_run (now, nframes);
+ }
for (ProcessorList::iterator i = _processors.begin(); i != _processors.end(); ++i) {
boost::shared_ptr<PluginInsert> pi;