MCP: shift-select resets gain to unity; don't jump back to last transport start unles...
authorPaul Davis <paul@linuxaudiosystems.com>
Thu, 12 Apr 2012 01:51:57 +0000 (01:51 +0000)
committerPaul Davis <paul@linuxaudiosystems.com>
Thu, 12 Apr 2012 01:51:57 +0000 (01:51 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@11934 d708f5d6-7413-0410-9779-e7cbd77b26cf

libs/surfaces/mackie/mcp_buttons.cc
libs/surfaces/mackie/strip.cc

index 215e547604150c59141380e7f7a3313740146183..4834d503076a0121e2e311611d89d82e19a4e93c 100644 (file)
@@ -500,11 +500,11 @@ MackieControlProtocol::stop_release (Button &)
 LedState 
 MackieControlProtocol::play_press (Button &)
 {
-       /* if we're already rolling, and we're pressed
+       /* if we're already rolling at normal speed, and we're pressed
           again, jump back to where we started last time
        */
 
-       transport_play (session->transport_rolling());
+       transport_play (session->transport_rolling() == 1.0);
        return none;
 }
 
@@ -530,7 +530,6 @@ MackieControlProtocol::record_release (Button &)
 LedState 
 MackieControlProtocol::rewind_press (Button &)
 {
-       DEBUG_TRACE (DEBUG::MackieControl, "REWIND PRESS\n");
        rewind ();
        return none;
 }
@@ -995,6 +994,7 @@ MackieControlProtocol::mixer_release (Button &)
 LedState
 MackieControlProtocol::user_a_press (Button &) 
 { 
+       transport_play (session->transport_speed() == 1.0);
        return off; 
 }
 LedState
@@ -1005,6 +1005,7 @@ MackieControlProtocol::user_a_release (Button &)
 LedState
 MackieControlProtocol::user_b_press (Button &) 
 { 
+       transport_stop();
        return off; 
 }
 LedState
index 5c5b7264e50cfa00772aa84c1ac9f1562def084c..5c72aed496dc6572057425ea65d73a0f9fd60ad5 100644 (file)
@@ -392,6 +392,9 @@ Strip::handle_button (Button& button, ButtonState bs)
                                if (_route) {
                                        _route_locked = !_route_locked;
                                }
+                       } else if (_surface->mcp().modifier_state() == MackieControlProtocol::MODIFIER_SHIFT) {
+                               /* reset gain value to unity */
+                               _route->set_gain (1.0, this);
                        } else {
                                _surface->mcp().select_track (_route);
                        }