summaryrefslogtreecommitdiff
path: root/libs/ardour/session_rtevents.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-07-27 09:41:42 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2015-07-27 09:41:57 -0400
commitc55b659f391fba74704c474d7948a3976057c92a (patch)
tree44e349c2ba11021d59ca642408314018ad45a5f3 /libs/ardour/session_rtevents.cc
parent949a45b748546c125e69d794b0f73565f376ab60 (diff)
add Session::routes_solo_changed(), a plural method which makes changing many route solo states much faster.
Code originally by Grygorii Zharun in Tracks
Diffstat (limited to 'libs/ardour/session_rtevents.cc')
-rw-r--r--libs/ardour/session_rtevents.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/libs/ardour/session_rtevents.cc b/libs/ardour/session_rtevents.cc
index 11d8319c0d..b00c4c1ebf 100644
--- a/libs/ardour/session_rtevents.cc
+++ b/libs/ardour/session_rtevents.cc
@@ -62,12 +62,17 @@ Session::set_solo (boost::shared_ptr<RouteList> rl, bool yn, SessionEvent::RTeve
void
Session::rt_set_solo (boost::shared_ptr<RouteList> rl, bool yn, bool /* group_override */)
{
+ solo_update_disabled = true;
+
for (RouteList::iterator i = rl->begin(); i != rl->end(); ++i) {
if (!(*i)->is_auditioner()) {
(*i)->set_solo (yn, this);
}
}
+ solo_update_disabled = false;
+ routes_solo_changed (rl);
+
set_dirty();
}