diff options
author | Robin Gareus <robin@gareus.org> | 2020-01-28 23:32:54 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2020-01-28 23:37:10 +0100 |
commit | b21bab3a8c8b0b93f46cacf6d99e748b11e8ca46 (patch) | |
tree | 61a5056807d5fab6ce7ab6b4e4a09113377791e9 /gtk2_ardour/mixer_strip.cc | |
parent | 6dfee0b1d2b4db94b43138ca1f26f51e6b8cdc51 (diff) |
Don't allow to deactivate master
Diffstat (limited to 'gtk2_ardour/mixer_strip.cc')
-rw-r--r-- | gtk2_ardour/mixer_strip.cc | 21 |
1 files changed, 14 insertions, 7 deletions
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<Gtk::CheckMenuItem *> (&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<Gtk::CheckMenuItem *> (&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<Gtk::CheckMenuItem *> (&items.back()); + Gtk::CheckMenuItem* i = dynamic_cast<Gtk::CheckMenuItem *> (&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()))); } |