From dbb3c47eee3c0f8d2111697533d524f95d8b8a08 Mon Sep 17 00:00:00 2001 From: Ben Loftis Date: Mon, 17 Apr 2017 19:36:31 -0500 Subject: Only check active_state when potentially skipping the route processing. In the past, we skipped processing if the routes had no inputs or outputs. But: A route with a generator plugin should work even if it has no inputs. A route with "sends" should work even if it has no outputs. --- libs/ardour/route.cc | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) (limited to 'libs') diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index 4f0f5dbc1c..6c56fb60e9 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -3516,16 +3516,9 @@ Route::no_roll (pframes_t nframes, framepos_t start_frame, framepos_t end_frame, return 0; } - //MB has its own output path, regardless of physical outs - if (!Profile->get_mixbus()) { - if (n_outputs().n_total() == 0) { - return 0; - } - - if (!_active || n_inputs() == ChanCount::ZERO) { - silence_unlocked (nframes); - return 0; - } + if (!_active) { + silence_unlocked (nframes); + return 0; } if (session_state_changing) { @@ -3568,16 +3561,9 @@ Route::roll (pframes_t nframes, framepos_t start_frame, framepos_t end_frame, in return 0; } - //MB has its own signal path, regardless of I/O -- TODO handle !active for tracks & aux-busses) - if (!Profile->get_mixbus()) { - if (n_outputs().n_total() == 0) { - return 0; - } - - if (!_active || n_inputs().n_total() == 0) { - silence_unlocked (nframes); - return 0; - } + if (!_active) { + silence_unlocked (nframes); + return 0; } framepos_t unused = 0; -- cgit v1.2.3