summaryrefslogtreecommitdiff
path: root/gtk2_ardour/route_ui.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-06-12 20:47:11 +0200
committerRobin Gareus <robin@gareus.org>2017-06-12 20:47:44 +0200
commit1794d087897b978ba498f84983bcc054c8332f6c (patch)
tree130a0ddbd4db14392fc51001860b23b9dc66b498 /gtk2_ardour/route_ui.cc
parent6cc18cef4f87651d741e8a23d17bdcaa841bf5c0 (diff)
Fix Monitor Group override
Diffstat (limited to 'gtk2_ardour/route_ui.cc')
-rw-r--r--gtk2_ardour/route_ui.cc16
1 files changed, 7 insertions, 9 deletions
diff --git a/gtk2_ardour/route_ui.cc b/gtk2_ardour/route_ui.cc
index e8443fb905..765461f4ab 100644
--- a/gtk2_ardour/route_ui.cc
+++ b/gtk2_ardour/route_ui.cc
@@ -916,22 +916,20 @@ RouteUI::monitor_release (GdkEventButton* ev, MonitorChoice monitor_choice)
}
if (Keyboard::modifier_state_equals (ev->state, Keyboard::ModifierMask (Keyboard::PrimaryModifier|Keyboard::TertiaryModifier))) {
+ /* Primary-Tertiary-click applies change to all routes */
rl = _session->get_routes ();
-
+ _session->set_controls (route_list_to_control_list (rl, &Stripable::monitoring_control), (double) mc, Controllable::NoGroup);
} else if (Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier)) {
- if (_route->route_group() && _route->route_group()->is_monitoring()) {
- rl = _route->route_group()->route_list();
- } else {
- rl.reset (new RouteList);
- rl->push_back (route());
- }
+ /* Primary-click overrides group */
+ rl.reset (new RouteList);
+ rl->push_back (route());
+ _session->set_controls (route_list_to_control_list (rl, &Stripable::monitoring_control), (double) mc, Controllable::InverseGroup);
} else {
rl.reset (new RouteList);
rl->push_back (route());
+ _session->set_controls (route_list_to_control_list (rl, &Stripable::monitoring_control), (double) mc, Controllable::UseGroup);
}
- _session->set_controls (route_list_to_control_list (rl, &Stripable::monitoring_control), (double) mc, Controllable::UseGroup);
-
return false;
}