start of tracking monitor state correctly

git-svn-id: svn://localhost/ardour2/branches/3.0@10264 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Paul Davis 2011-10-21 12:40:06 +00:00
parent 56da993d83
commit cc3d202571
4 changed files with 80 additions and 16 deletions

View file

@ -249,6 +249,8 @@ RouteUI::set_route (boost::shared_ptr<Route> rp)
if (is_track()) {
boost::shared_ptr<Track> t = boost::dynamic_pointer_cast<Track>(_route);
t->MonitoringChanged.connect (route_connections, invalidator (*this), boost::bind (&RouteUI::monitoring_changed, this), gui_context());
update_monitoring_display ();
}
mute_button->unset_flags (Gtk::CAN_FOCUS);
@ -584,6 +586,12 @@ RouteUI::rec_enable_press(GdkEventButton* ev)
void
RouteUI::monitoring_changed ()
{
update_monitoring_display ();
}
void
RouteUI::update_monitoring_display ()
{
boost::shared_ptr<Track> t = boost::dynamic_pointer_cast<Track>(_route);
@ -594,15 +602,15 @@ RouteUI::monitoring_changed ()
MonitorChoice mc = t->monitoring();
if (mc & MonitorInput) {
monitor_input_button->set_active (true);
monitor_input_button->set_visual_state (1);
} else {
monitor_input_button->set_active (false);
monitor_input_button->set_visual_state (0);
}
if (mc & MonitorDisk) {
monitor_disk_button->set_active (true);
monitor_disk_button->set_visual_state (1);
} else {
monitor_disk_button->set_active (false);
monitor_disk_button->set_visual_state (0);
}
}