summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_routes.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2009-12-10 17:45:18 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2009-12-10 17:45:18 +0000
commit90d6916ca3443b81a4eaf615c014ac065554b4f2 (patch)
tree69d14f3bf15b34f054455afd71791ae3616b8260 /gtk2_ardour/editor_routes.cc
parentb5ca5713fbf2d58485084d7cd70a2a52fb1d7ef5 (diff)
restore rec-enable, solo & mute functionality; remove all Global*Command cruft; reimplement momentary solo&mute; refactor session RT event stuff to be even cleaner and finally compatible with everything-is-a-UI idea ; make all UIs derive from a primitive type that pprovides only void call_slot (sigc::slot<void>) as a way to execute arbitrary code in the UI thread
git-svn-id: svn://localhost/ardour2/branches/3.0@6338 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_routes.cc')
-rw-r--r--gtk2_ardour/editor_routes.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/gtk2_ardour/editor_routes.cc b/gtk2_ardour/editor_routes.cc
index 100c552be7..9cd5231d41 100644
--- a/gtk2_ardour/editor_routes.cc
+++ b/gtk2_ardour/editor_routes.cc
@@ -170,7 +170,9 @@ EditorRoutes::on_tv_rec_enable_toggled (Glib::ustring const & path_string)
AudioTimeAxisView *atv = dynamic_cast<AudioTimeAxisView*> (tv);
if (atv != 0 && atv->is_audio_track()){
- atv->reversibly_apply_track_boolean ("rec-enable change", &Track::set_record_enable, !atv->track()->record_enabled(), this);
+ boost::shared_ptr<RouteList> rl (new RouteList);
+ rl->push_back (atv->route());
+ _session->set_record_enable (rl, !atv->track()->record_enabled(), Session::rt_cleanup);
}
}
@@ -184,7 +186,9 @@ EditorRoutes::on_tv_mute_enable_toggled (Glib::ustring const & path_string)
AudioTimeAxisView *atv = dynamic_cast<AudioTimeAxisView*> (tv);
if (atv != 0) {
- atv->reversibly_apply_route_boolean ("mute-enable change", &Route::set_mute, !atv->route()->muted(), this);
+ boost::shared_ptr<RouteList> rl (new RouteList);
+ rl->push_back (atv->route());
+ _session->set_mute (rl, !atv->route()->muted(), Session::rt_cleanup);
}
}
@@ -198,7 +202,9 @@ EditorRoutes::on_tv_solo_enable_toggled (Glib::ustring const & path_string)
AudioTimeAxisView *atv = dynamic_cast<AudioTimeAxisView*> (tv);
if (atv != 0) {
- atv->reversibly_apply_route_boolean ("solo-enable change", &Route::set_solo, !atv->route()->soloed(), this);
+ boost::shared_ptr<RouteList> rl (new RouteList);
+ rl->push_back (atv->route());
+ _session->set_solo (rl, !atv->route()->soloed(), Session::rt_cleanup);
}
}