summaryrefslogtreecommitdiff
path: root/libs/ardour/session.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-07-13 14:33:23 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2016-07-13 14:33:23 -0400
commit9766cc7d8b1d96817d2ec9b5a7ccef6f97f440f5 (patch)
tree7e564e3f2fc20083824e9c416866085585a05d47 /libs/ardour/session.cc
parenteab3c57b834c3f4dbaeb5d412cdef3a672276c56 (diff)
a better, deeper fix for "cancel all solo", as Session::cancel_all_solo()
Diffstat (limited to 'libs/ardour/session.cc')
-rw-r--r--libs/ardour/session.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc
index 9e9b530ce3..67f43dc470 100644
--- a/libs/ardour/session.cc
+++ b/libs/ardour/session.cc
@@ -7041,3 +7041,14 @@ Session::auto_connect_thread_run ()
}
pthread_mutex_unlock (&_auto_connect_mutex);
}
+
+void
+Session::cancel_all_solo ()
+{
+ StripableList sl;
+
+ get_stripables (sl);
+
+ set_controls (stripable_list_to_control_list (sl, &Stripable::solo_control), 0.0, Controllable::NoGroup);
+ clear_all_solo_state (routes.reader());
+}