summaryrefslogtreecommitdiff
path: root/libs/surfaces/mackie/mackie_control_protocol.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2012-04-26 22:10:32 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2012-04-26 22:10:32 +0000
commitae2e8c67657daccb2cdafc3ddfeb7d9df126ed8f (patch)
tree8046fa3beb086b7c69e5d0d51b72823ea2c7689e /libs/surfaces/mackie/mackie_control_protocol.cc
parentcafbc632fb71db817d399dce5f18be7528573a6f (diff)
MCP: ctrl-select toggle selections status, analogous to GUI op
git-svn-id: svn://localhost/ardour2/branches/3.0@12102 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/surfaces/mackie/mackie_control_protocol.cc')
-rw-r--r--libs/surfaces/mackie/mackie_control_protocol.cc11
1 files changed, 8 insertions, 3 deletions
diff --git a/libs/surfaces/mackie/mackie_control_protocol.cc b/libs/surfaces/mackie/mackie_control_protocol.cc
index ccd29a4d39..a5bcefcb17 100644
--- a/libs/surfaces/mackie/mackie_control_protocol.cc
+++ b/libs/surfaces/mackie/mackie_control_protocol.cc
@@ -1247,10 +1247,15 @@ MackieControlProtocol::select_range ()
if (!routes.empty()) {
for (RouteList::iterator r = routes.begin(); r != routes.end(); ++r) {
- if (r == routes.begin()) {
- SetRouteSelection ((*r)->remote_control_id());
+
+ if (_modifier_state == MODIFIER_CONTROL) {
+ ToggleRouteSelection ((*r)->remote_control_id ());
} else {
- AddRouteToSelection ((*r)->remote_control_id());
+ if (r == routes.begin()) {
+ SetRouteSelection ((*r)->remote_control_id());
+ } else {
+ AddRouteToSelection ((*r)->remote_control_id());
+ }
}
}
}