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.
This commit is contained in:
Ben Loftis 2017-04-17 19:36:31 -05:00
parent 8e5a972a24
commit dbb3c47eee

View File

@ -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;