diff options
author | Ben Loftis <ben@harrisonconsoles.com> | 2017-04-17 19:36:31 -0500 |
---|---|---|
committer | Ben Loftis <ben@harrisonconsoles.com> | 2017-04-17 19:36:31 -0500 |
commit | dbb3c47eee3c0f8d2111697533d524f95d8b8a08 (patch) | |
tree | 0cdd8415d3ccfc3d8c240600d7b8056c882d12da /libs/ardour/route.cc | |
parent | 8e5a972a24b49848ee39402676d895f72044b2a9 (diff) |
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.
Diffstat (limited to 'libs/ardour/route.cc')
-rw-r--r-- | libs/ardour/route.cc | 26 |
1 files changed, 6 insertions, 20 deletions
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; |