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
This commit is contained in:
Paul Davis
2010-05-05 03:20:16 +00:00
parent 970f749110
commit 2e1d964528
3 changed files with 8 additions and 14 deletions

View File

@@ -45,6 +45,7 @@ namespace PBD {
extern uint64_t MackieControl;
extern uint64_t MidiClock;
extern uint64_t Monitor;
extern uint64_t Solo;
}
}

View File

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

View File

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