From 2e1d9645281435d590c2d2879aba08431f8561e6 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Wed, 5 May 2010 03:20:16 +0000 Subject: [PATCH] add DEBUG::Solo for conditional debugging of solo stuff, just in case git-svn-id: svn://localhost/ardour2/branches/3.0@7058 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/ardour/debug.h | 1 + libs/ardour/debug.cc | 1 + libs/ardour/route.cc | 20 ++++++-------------- 3 files changed, 8 insertions(+), 14 deletions(-) diff --git a/libs/ardour/ardour/debug.h b/libs/ardour/ardour/debug.h index e2f3ff2c49..57b66a8793 100644 --- a/libs/ardour/ardour/debug.h +++ b/libs/ardour/ardour/debug.h @@ -45,6 +45,7 @@ namespace PBD { extern uint64_t MackieControl; extern uint64_t MidiClock; extern uint64_t Monitor; + extern uint64_t Solo; } } diff --git a/libs/ardour/debug.cc b/libs/ardour/debug.cc index b329350006..268ec5d033 100644 --- a/libs/ardour/debug.cc +++ b/libs/ardour/debug.cc @@ -42,4 +42,5 @@ uint64_t PBD::DEBUG::MidiIO = PBD::new_debug_bit ("midiio"); uint64_t PBD::DEBUG::MackieControl = PBD::new_debug_bit ("mackiecontrol"); uint64_t PBD::DEBUG::MidiClock = PBD::new_debug_bit ("midiclock"); uint64_t PBD::DEBUG::Monitor = PBD::new_debug_bit ("monitor"); +uint64_t PBD::DEBUG::Solo = PBD::new_debug_bit ("solo"); diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index 28a866bfa2..e3ef2ea6f0 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -608,8 +608,6 @@ Route::mod_solo_by_others_upstream (int32_t delta) uint32_t old_sbu = _soloed_by_others_upstream; - // cerr << name() << " SbU was " << old_sbu << " delta " << delta << " = "; - if (delta < 0) { if (_soloed_by_others_upstream >= (uint32_t) abs (delta)) { _soloed_by_others_upstream += delta; @@ -620,7 +618,9 @@ Route::mod_solo_by_others_upstream (int32_t delta) _soloed_by_others_upstream += delta; } - // cerr << _soloed_by_others_upstream << endl; + DEBUG_TRACE (DEBUG::Solo, string_compose ("%1 SbU delta %2 = %3 old = %4 sbd %5 ss %6 latched %7\n", + name(), delta, _soloed_by_others_upstream, old_sbu, + _soloed_by_others_downstream, _self_solo, Config->get_solo_latched())); /* push the inverse solo change to everything that feeds us. @@ -635,25 +635,19 @@ Route::mod_solo_by_others_upstream (int32_t delta) not in reverse. */ - // cerr << name() << " SbU ... sbd = " << _soloed_by_others_downstream - // << " ss = " << _self_solo << " latched solo? " << Config->get_solo_latched() << " delta = " - // << delta << endl; - if ((_self_solo || _soloed_by_others_downstream) && ((old_sbu == 0 && _soloed_by_others_upstream > 0) || (old_sbu > 0 && _soloed_by_others_upstream == 0))) { if (delta > 0 || Config->get_solo_latched()) { - // cerr << "\t ... INVERT push\n"; + DEBUG_TRACE (DEBUG::Solo, "\t ... INVERT push\n"); for (FedBy::iterator i = _fed_by.begin(); i != _fed_by.end(); ++i) { boost::shared_ptr sr = i->r.lock(); if (sr) { sr->mod_solo_by_others_downstream (-delta); } } - } else { - // cerr << "\t... skip invert push\n"; - } + } } set_mute_master_solo (); @@ -667,8 +661,6 @@ Route::mod_solo_by_others_downstream (int32_t delta) return; } - // cerr << name() << " SbD delta " << delta << " = "; - if (delta < 0) { if (_soloed_by_others_downstream >= (uint32_t) abs (delta)) { _soloed_by_others_downstream += delta; @@ -679,7 +671,7 @@ Route::mod_solo_by_others_downstream (int32_t delta) _soloed_by_others_downstream += delta; } - // cerr << _soloed_by_others_downstream << endl; + DEBUG_TRACE (DEBUG::Solo, string_compose ("%1 SbD delta %2 = %3\n", name(), delta, _soloed_by_others_downstream)); set_mute_master_solo (); solo_changed (false, this); -- 2.30.2