diff --git a/gtk2_ardour/gain_meter.cc b/gtk2_ardour/gain_meter.cc index b4481d628f..83d73160c3 100644 --- a/gtk2_ardour/gain_meter.cc +++ b/gtk2_ardour/gain_meter.cc @@ -757,10 +757,12 @@ GainMeterBase::amp_start_touch (int state) { assert (_route); - if (_route->is_selected() && (!_route->route_group() || !_route->route_group()->is_gain())) { - _touch_control_group.reset (new GainControlGroup ()); - _touch_control_group->set_mode (ControlGroup::Relative); - _touch_control_group->fill_from_selection (_control->session().selection(), _control->parameter()); + if (UIConfiguration::instance().get_allow_selection_as_group()) { + if (_route->is_selected() && (!_route->route_group() || !_route->route_group()->is_gain())) { + _touch_control_group.reset (new GainControlGroup ()); + _touch_control_group->set_mode (ControlGroup::Relative); + _touch_control_group->fill_from_selection (_control->session().selection(), _control->parameter()); + } } _control->start_touch (timepos_t (_control->session().transport_sample())); diff --git a/gtk2_ardour/route_ui.cc b/gtk2_ardour/route_ui.cc index a180135268..32a77a2d6b 100644 --- a/gtk2_ardour/route_ui.cc +++ b/gtk2_ardour/route_ui.cc @@ -734,7 +734,9 @@ RouteUI::solo_press(GdkEventButton* ev) std::shared_ptr rl (new RouteList); - if (route() && (!route()->is_selected() || (route()->route_group() && route()->route_group()->is_solo()))) { + if (!UIConfiguration::instance().get_allow_selection_as_group() && + route() && + (!route()->is_selected() || (route()->route_group() && route()->route_group()->is_solo()))) { /* Not selected or part of a group that share solo, just start with this route */ rl->push_back (route()); } else { diff --git a/gtk2_ardour/ui_config_vars.h b/gtk2_ardour/ui_config_vars.h index 72f2093ae2..009208f7da 100644 --- a/gtk2_ardour/ui_config_vars.h +++ b/gtk2_ardour/ui_config_vars.h @@ -163,3 +163,8 @@ UI_CONFIG_VARIABLE (Editing::TempoEditBehavior, tempo_edit_behavior, "tempo-edit /* these are visibility-type selections in the New Track dialog that we should make persistent for the user's choices */ UI_CONFIG_VARIABLE (bool, show_on_cue_page, "show-on-cue-page", true) UI_CONFIG_VARIABLE (uint32_t, insert_at_position, "insert-at-position", 3) +#ifdef MIXBUS +UI_CONFIG_VARIABLE (bool, allow_selection_as_group, "allow-selection-as-group", true) +#else +UI_CONFIG_VARIABLE (bool, allow_selection_as_group, "allow-selection-as-group", false) +#endif