summaryrefslogtreecommitdiff
path: root/libs/ardour/route.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2015-10-06 14:14:44 +0200
committerRobin Gareus <robin@gareus.org>2015-10-06 14:14:44 +0200
commitb1609b53bd38508068a847a0e05ac0fc7100bbc8 (patch)
treee79f13c63ac27a995adeb7a7dea2b85a11988175 /libs/ardour/route.cc
parent139cb23ab98abc2d166b74ea025719d1730dc203 (diff)
more solo propagation fixes.
handle cases Track(s) -> Bus1 -> Bus2
Diffstat (limited to 'libs/ardour/route.cc')
-rw-r--r--libs/ardour/route.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc
index a5c1af0e87..5393bcc682 100644
--- a/libs/ardour/route.cc
+++ b/libs/ardour/route.cc
@@ -900,8 +900,11 @@ Route::mod_solo_by_others_upstream (int32_t delta)
(old_sbu > 0 && _soloed_by_others_upstream == 0))) {
if (delta > 0 || !Config->get_exclusive_solo()) {
- DEBUG_TRACE (DEBUG::Solo, "\t ... INVERT push\n");
+ 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;
+ }
boost::shared_ptr<Route> sr = i->r.lock();
if (sr) {
sr->mod_solo_by_others_downstream (-delta);