From 6d9f6005604fb579c5559ea7a55605863724f554 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Tue, 4 May 2010 17:45:33 +0000 Subject: [PATCH] fix inverse solo push to work properly in both exclusive and non-exclusive solo modes git-svn-id: svn://localhost/ardour2/branches/3.0@7053 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/route.cc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index 29184ab940..1b938db871 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -616,7 +616,6 @@ Route::mod_solo_by_others_upstream (int32_t delta) _soloed_by_others_upstream += delta; } - /* push the inverse solo change to everything that feeds us. This is important for solo-within-group. When we solo 1 track out of N that @@ -630,7 +629,7 @@ Route::mod_solo_by_others_upstream (int32_t delta) not in reverse. */ - if (delta > 0) { + if (Config->get_solo_latched() || delta > 0) { for (FedBy::iterator i = _fed_by.begin(); i != _fed_by.end(); ++i) { boost::shared_ptr sr = i->r.lock(); if (sr) { @@ -650,7 +649,7 @@ Route::mod_solo_by_others_downstream (int32_t delta) return; } - if (delta < 0) { + if (delta < 0) { if (_soloed_by_others_downstream >= (uint32_t) abs (delta)) { _soloed_by_others_downstream += delta; } else {