X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Froute_ui.cc;h=4600f04f1465d4f533331d2d817e55448f660b15;hb=267cfbe731debe3f3be88375bce34644ac7c6323;hp=8ae36c894ce0294c89c0f8843987eb36553a90cb;hpb=648035dba9d6e0b9f98aefadf016cf7d1faa49ee;p=ardour.git diff --git a/gtk2_ardour/route_ui.cc b/gtk2_ardour/route_ui.cc index 8ae36c894c..4600f04f14 100644 --- a/gtk2_ardour/route_ui.cc +++ b/gtk2_ardour/route_ui.cc @@ -408,7 +408,7 @@ RouteUI::solo_press(GdkEventButton* ev) } if (Config->get_solo_control_is_listen_control()) { - _session->set_listen (_session->get_routes(), !_route->listening(), Session::rt_cleanup, true); + _session->set_listen (_session->get_routes(), !_route->listening_via_monitor(), Session::rt_cleanup, true); } else { _session->set_solo (_session->get_routes(), !_route->self_soloed(), Session::rt_cleanup, true); } @@ -458,7 +458,7 @@ RouteUI::solo_press(GdkEventButton* ev) } if (Config->get_solo_control_is_listen_control()) { - _session->set_listen (_route->route_group()->route_list(), !_route->listening(), Session::rt_cleanup, true); + _session->set_listen (_route->route_group()->route_list(), !_route->listening_via_monitor(), Session::rt_cleanup, true); } else { _session->set_solo (_route->route_group()->route_list(), !_route->self_soloed(), Session::rt_cleanup, true); } @@ -476,7 +476,7 @@ RouteUI::solo_press(GdkEventButton* ev) } if (Config->get_solo_control_is_listen_control()) { - _session->set_listen (rl, !_route->listening()); + _session->set_listen (rl, !_route->listening_via_monitor()); } else { _session->set_solo (rl, !_route->self_soloed()); } @@ -587,7 +587,7 @@ RouteUI::build_record_menu () using namespace Menu_Helpers; MenuList& items = record_menu->items(); - items.push_back (CheckMenuElem (_("Step Edit"), sigc::mem_fun (*this, &RouteUI::toggle_step_edit))); + items.push_back (CheckMenuElem (_("Step Entry"), sigc::mem_fun (*this, &RouteUI::toggle_step_edit))); step_edit_item = dynamic_cast (&items.back()); if (_route->record_enabled()) { @@ -816,7 +816,7 @@ RouteUI::solo_visual_state (boost::shared_ptr r) if (Config->get_solo_control_is_listen_control()) { - if (r->listening()) { + if (r->listening_via_monitor()) { return 1; } else { return 0; @@ -844,7 +844,7 @@ RouteUI::solo_visual_state_with_isolate (boost::shared_ptr r) if (Config->get_solo_control_is_listen_control()) { - if (r->listening()) { + if (r->listening_via_monitor()) { return 1; } else { return 0; @@ -900,7 +900,7 @@ RouteUI::update_solo_display () if (Config->get_solo_control_is_listen_control()) { - if (solo_button->get_active() != (x = _route->listening())) { + if (solo_button->get_active() != (x = _route->listening_via_monitor())) { ++_i_am_the_modifier; solo_button->set_active(x); --_i_am_the_modifier; @@ -965,7 +965,8 @@ RouteUI::mute_visual_state (Session* s, boost::shared_ptr r) return 0; } - if (Config->get_show_solo_mutes()) { + + if (Config->get_show_solo_mutes() && !Config->get_solo_control_is_listen_control ()) { if (r->muted ()) { /* full mute */ @@ -1011,7 +1012,7 @@ RouteUI::update_mute_display () --_i_am_the_modifier; } - mute_button->set_visual_state (mute_visual_state (_session, _route)); + mute_button->set_visual_state (mute_visual_state (_session, _route)); } void @@ -1256,19 +1257,20 @@ RouteUI::toggle_solo_safe (Gtk::CheckMenuItem* check) _route->set_solo_safe (check->get_active(), this); } -bool -RouteUI::choose_color() +/** Ask the user to choose a colour, and then set all selected tracks + * to that colour. + */ +void +RouteUI::choose_color () { bool picked; - Gdk::Color color; - - color = Gtkmm2ext::UI::instance()->get_color (_("Color Selection"), picked, &_color); + Gdk::Color const color = Gtkmm2ext::UI::instance()->get_color (_("Color Selection"), picked, &_color); if (picked) { - set_color (color); + ARDOUR_UI::instance()->the_editor().get_selection().tracks.foreach_route_ui ( + boost::bind (&RouteUI::set_color, _1, color) + ); } - - return picked; } void @@ -1822,3 +1824,11 @@ RouteUI::invert_menu_toggled (uint32_t c) _route->set_phase_invert (c, !_route->phase_invert (c)); } + +void +RouteUI::set_invert_sensitive (bool yn) +{ + for (list::iterator b = _invert_buttons.begin(); b != _invert_buttons.end(); ++b) { + (*b)->set_sensitive (yn); + } +}