diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2009-06-17 15:50:29 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2009-06-17 15:50:29 +0000 |
commit | 1e8047f0ed022b617716184450479e39dead058d (patch) | |
tree | 8d1126753685331237b2397226c2d884a57d3a7b /libs/ardour/session.cc | |
parent | 34930fc8cf6f5b552b7cc853b7ce008ea9fb1aaf (diff) |
solo models work again (amazing how hard this was); remove crufty debug output; remove scrollbars on editor (and temporarily lose zoom controls)
git-svn-id: svn://localhost/ardour2/branches/3.0@5207 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/session.cc')
-rw-r--r-- | libs/ardour/session.cc | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index db30fea021..e87f315a24 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -790,7 +790,6 @@ Session::hookup_io () _state_of_the_state = StateOfTheState (_state_of_the_state & ~InitialConnecting); - /* now handle the whole enchilada as if it was one graph reorder event. */ @@ -2247,15 +2246,20 @@ Session::route_solo_changed (void* src, boost::weak_ptr<Route> wpr) if ((*i)->feeds (route)) { /* do it */ - - (*i)->main_outs()->mod_solo_level (delta); + (*i)->mod_solo_level (delta); } } /* make sure master is never muted by solo */ - if (_master_out->main_outs()->solo_level() == 0) { - _master_out->main_outs()->mod_solo_level (1); + if (_master_out->solo_level() == 0) { + _master_out->mod_solo_level (1); + } + + /* ditto for control outs make sure master is never muted by solo */ + + if (_control_out && _control_out->solo_level() == 0) { + _control_out->mod_solo_level (1); } solo_update_disabled = false; @@ -2276,7 +2280,7 @@ Session::update_route_solo_state (boost::shared_ptr<RouteList> r) } for (RouteList::iterator i = r->begin(); i != r->end(); ++i) { - if (!(*i)->is_master() && !(*i)->is_hidden() && (*i)->soloed()) { + if (!(*i)->is_master() && !(*i)->is_control() && !(*i)->is_hidden() && (*i)->soloed()) { something_soloed = true; break; } @@ -2302,7 +2306,7 @@ Session::catch_up_on_solo () void Session::catch_up_on_solo_mute_override () { - if (Config->get_solo_model() != InverseMute) { + if (Config->get_solo_model() != SoloInPlace) { return; } |