summaryrefslogtreecommitdiff
path: root/libs/ardour/route.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/route.cc')
-rw-r--r--libs/ardour/route.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc
index 740e5949b4..78d4a85e61 100644
--- a/libs/ardour/route.cc
+++ b/libs/ardour/route.cc
@@ -1046,7 +1046,9 @@ Route::passthru (nframes_t start_frame, nframes_t end_frame, nframes_t nframes,
if (meter_first) {
_meter->run_in_place(bufs, start_frame, end_frame, nframes, offset);
meter_first = false;
- }
+ } else {
+ meter_first = true;
+ }
process_output_buffers (bufs, start_frame, end_frame, nframes, offset, true, declick, meter_first);
}
@@ -1163,6 +1165,7 @@ Route::add_processor (boost::shared_ptr<Processor> processor, ProcessorStreams*
_meter->configure_io (potential_max_streams, potential_max_streams);
+ // XXX: do we want to emit the signal here ? change call order.
processor->activate ();
processor->ActiveChanged.connect (bind (mem_fun (_session, &Session::update_latency_compensation), false, false));
@@ -2830,7 +2833,7 @@ Route::roll (nframes_t nframes, nframes_t start_frame, nframes_t end_frame, nfra
if (am.locked() && _session.transport_rolling()) {
- if (_gain_control->alist()->automation_playback()) {
+ if (_gain_control->automation_playback()) {
apply_gain_automation = _gain_control->list()->curve().rt_safe_get_vector (
start_frame, end_frame, _session.gain_automation_buffer(), nframes);
}