this might just be it for solo
git-svn-id: svn://localhost/ardour2/branches/3.0@7056 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
056ceba16a
commit
9a1cce915b
@ -635,27 +635,24 @@ Route::mod_solo_by_others_upstream (int32_t delta)
|
|||||||
not in reverse.
|
not in reverse.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
cerr << name() << " SbU ... latched solo? " << Config->get_solo_latched() << " delta = " << delta << endl;
|
cerr << name() << " SbU ... sbd = " << _soloed_by_others_downstream
|
||||||
|
<< " ss = " << _self_solo << " latched solo? " << Config->get_solo_latched() << " delta = "
|
||||||
|
<< delta << endl;
|
||||||
|
|
||||||
bool push_inverse = false;
|
if ((_self_solo || _soloed_by_others_downstream) &&
|
||||||
|
((old_sbu == 0 && _soloed_by_others_upstream > 0) ||
|
||||||
if (old_sbu > 0 && _soloed_by_others_upstream == 0 && _self_solo) {
|
(old_sbu > 0 && _soloed_by_others_upstream == 0))) {
|
||||||
/* we went back to non-soloed-by-others-upstream but we're still soloed push */
|
|
||||||
push_inverse = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (old_sbu == 0 && _soloed_by_others_upstream > 0) {
|
if (delta > 0 || Config->get_solo_latched()) {
|
||||||
/* upstream made us solo when we weren't before */
|
cerr << "\t ... INVERT push\n";
|
||||||
push_inverse = true;
|
for (FedBy::iterator i = _fed_by.begin(); i != _fed_by.end(); ++i) {
|
||||||
}
|
boost::shared_ptr<Route> sr = i->r.lock();
|
||||||
|
if (sr) {
|
||||||
if (push_inverse) {
|
sr->mod_solo_by_others_downstream (-delta);
|
||||||
cerr << "\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";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user