const correctness.
[ardour.git] / libs / ardour / session_rtevents.cc
index 2befe47c16012a4787de749f03b450bf89c56895..921a6348ebdd87cfc7fd507cf2700ceaf4203e56 100644 (file)
@@ -129,6 +129,24 @@ Session::rt_set_mute (boost::shared_ptr<RouteList> rl, bool yn, bool /*group_ove
        set_dirty();
 }
 
+void
+Session::set_solo_isolated (boost::shared_ptr<RouteList> rl, bool yn, SessionEvent::RTeventCallback after, bool group_override)
+{
+       queue_event (get_rt_event (rl, yn, after, group_override, &Session::rt_set_solo_isolated));
+}
+
+void
+Session::rt_set_solo_isolated (boost::shared_ptr<RouteList> rl, bool yn, bool /*group_override*/)
+{
+       for (RouteList::iterator i = rl->begin(); i != rl->end(); ++i) {
+               if (!(*i)->is_master() && !(*i)->is_monitor() && !(*i)->is_hidden()) {
+                       (*i)->set_solo_isolated (yn, this);
+               }
+       }
+       
+       set_dirty();
+}
+
 void
 Session::set_record_enable (boost::shared_ptr<RouteList> rl, bool yn, SessionEvent::RTeventCallback after, bool group_override)
 {