diff options
author | Robin Gareus <robin@gareus.org> | 2020-05-08 06:35:08 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2020-05-08 06:35:08 +0200 |
commit | caf057f06dbe307e4a53580665b0f2166fe8a2c5 (patch) | |
tree | 53386e6f5c3bb437109b556e8702001708b545b6 /libs/ardour/route.cc | |
parent | 3f6764f276b629898c4195fa6e4f1d900286c082 (diff) |
Experiment: propagate solo-state with internal-sends
So far internal-sends were explicitly special-cased, and implicit
solo-state only was only forwarded for direct up/down-stream
connections. ...and nobody can remember why :)
This restriction is removed, so far mainly with commenting-out
code, as experiment.
Internal sends are not only more convenient, but also required
in cases where direct connections result in ambiguous latency.
Diffstat (limited to 'libs/ardour/route.cc')
-rw-r--r-- | libs/ardour/route.cc | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index 42e262d169..bbdfc54828 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -747,7 +747,7 @@ Route::push_solo_isolate_upstream (int32_t delta) bool sends_only; bool does_feed = feeds (*i, &sends_only); - if (does_feed && !sends_only) { + if (does_feed /*&& !sends_only*/) { (*i)->solo_isolate_control()->mod_solo_isolated_by_upstream (delta); } } @@ -759,7 +759,7 @@ Route::push_solo_upstream (int delta) DEBUG_TRACE (DEBUG::Solo, string_compose("\t ... INVERT push from %1\n", _name)); for (FedBy::iterator i = _fed_by.begin(); i != _fed_by.end(); ++i) { if (i->sends_only) { - continue; + /* continue; */ } boost::shared_ptr<Route> sr (i->r.lock()); if (sr) { @@ -3654,7 +3654,7 @@ Route::input_change_handler (IOChange change, void * /*src*/) } bool sends_only; bool does_feed = (*i)->direct_feeds_according_to_reality (boost::dynamic_pointer_cast<Route> (shared_from_this()), &sends_only); - if (does_feed && !sends_only) { + if (does_feed /*&& !sends_only*/) { if ((*i)->soloed()) { ++sbou; } @@ -3699,11 +3699,11 @@ Route::input_change_handler (IOChange change, void * /*src*/) } bool sends_only; bool does_feed = feeds (*i, &sends_only); - if (delta <= 0 && does_feed && !sends_only) { + if (delta <= 0 && does_feed /*&& !sends_only*/) { (*i)->solo_control()->mod_solo_by_others_upstream (delta); } - if (idelta < 0 && does_feed && !sends_only) { + if (idelta < 0 && does_feed /*&& !sends_only*/) { (*i)->solo_isolate_control()->mod_solo_isolated_by_upstream (-1); } } @@ -3752,7 +3752,7 @@ Route::output_change_handler (IOChange change, void * /*src*/) } bool sends_only; bool does_feed = direct_feeds_according_to_reality (*i, &sends_only); - if (does_feed && !sends_only) { + if (does_feed /*&& !sends_only*/) { if ((*i)->soloed()) { ++sbod; break; @@ -3774,7 +3774,7 @@ Route::output_change_handler (IOChange change, void * /*src*/) } bool sends_only; bool does_feed = (*i)->feeds (shared_this, &sends_only); - if (delta != 0 && does_feed && !sends_only) { + if (delta != 0 && does_feed /*&& !sends_only*/) { (*i)->solo_control()->mod_solo_by_others_downstream (delta); } } |