From b21bab3a8c8b0b93f46cacf6d99e748b11e8ca46 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Tue, 28 Jan 2020 23:32:54 +0100 Subject: Don't allow to deactivate master --- gtk2_ardour/mixer_strip.cc | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'gtk2_ardour') diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc index d5d0c5944f..f220319346 100644 --- a/gtk2_ardour/mixer_strip.cc +++ b/gtk2_ardour/mixer_strip.cc @@ -1697,7 +1697,7 @@ MixerStrip::build_route_ops_menu () #ifdef MIXBUS && !_route->mixbus() #endif - ) { + ) { if (Profile->get_mixbus()) { items.push_back (SeparatorElem()); } @@ -1713,16 +1713,23 @@ MixerStrip::build_route_ops_menu () items.push_back (SeparatorElem()); } - items.push_back (CheckMenuElem (_("Active"))); - Gtk::CheckMenuItem* i = dynamic_cast (&items.back()); - i->set_active (active); - i->set_sensitive(! _session->transport_rolling()); - i->signal_activate().connect (sigc::bind (sigc::mem_fun (*this, &RouteUI::set_route_active), !_route->active(), false)); + if ((!_route->is_master() || !active) +#ifdef MIXBUS + && !_route->mixbus() +#endif + ) + { + items.push_back (CheckMenuElem (_("Active"))); + Gtk::CheckMenuItem* i = dynamic_cast (&items.back()); + i->set_active (active); + i->set_sensitive (!_session->transport_rolling()); + i->signal_activate().connect (sigc::bind (sigc::mem_fun (*this, &RouteUI::set_route_active), !_route->active(), false)); + } if (active && !Profile->get_mixbus ()) { items.push_back (SeparatorElem()); items.push_back (CheckMenuElem (_("Strict I/O"))); - i = dynamic_cast (&items.back()); + Gtk::CheckMenuItem* i = dynamic_cast (&items.back()); i->set_active (_route->strict_io()); i->signal_activate().connect (sigc::hide_return (sigc::bind (sigc::mem_fun (*_route, &Route::set_strict_io), !_route->strict_io()))); } -- cgit v1.2.3