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:
@@ -45,6 +45,7 @@ namespace PBD {
|
||||
extern uint64_t MackieControl;
|
||||
extern uint64_t MidiClock;
|
||||
extern uint64_t Monitor;
|
||||
extern uint64_t Solo;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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");
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user