MCP: make v-pot press work; work ongoing on general keybindings
[ardour.git] / libs / surfaces / mackie / mcp_buttons.cc
index 215e547604150c59141380e7f7a3313740146183..4032785a3be480bf8b2aec7ca3ad209f61f8e291 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;
 }
@@ -664,6 +663,17 @@ MackieControlProtocol::enter_release (Button &)
 { 
        return off;
 }
+
+void
+MackieControlProtocol::f_press (uint32_t fn)
+{
+#if 0
+       string action = f_action (0);
+       if (!action.empty()) {
+               access_action (action);
+       }
+#endif
+}
 LedState
 MackieControlProtocol::F1_press (Button &) 
 { 
@@ -821,21 +831,8 @@ MackieControlProtocol::dyn_release (Button &)
 LedState
 MackieControlProtocol::flip_press (Button &) 
 { 
-       FlipMode m;
-
-       if (_modifier_state == 0) {
-               if (_flip_mode != Normal) {
-                       m = Normal;
-               } else {
-                       m = Swap;
-               }
-       } else if (_modifier_state & MODIFIER_CONTROL) {
-               m = Zero;
-       }
-
-       set_flip_mode (m);
-
-       return (_flip_mode != Normal ? on : off);
+       set_flip_mode (!_flip_mode);
+       return (_flip_mode ? on : off);
 }
 LedState
 MackieControlProtocol::flip_release (Button &) 
@@ -995,6 +992,7 @@ MackieControlProtocol::mixer_release (Button &)
 LedState
 MackieControlProtocol::user_a_press (Button &) 
 { 
+       transport_play (session->transport_speed() == 1.0);
        return off; 
 }
 LedState
@@ -1005,6 +1003,7 @@ MackieControlProtocol::user_a_release (Button &)
 LedState
 MackieControlProtocol::user_b_press (Button &) 
 { 
+       transport_stop();
        return off; 
 }
 LedState
@@ -1012,3 +1011,224 @@ MackieControlProtocol::user_b_release (Button &)
 { 
        return off; 
 }
+
+Mackie::LedState 
+MackieControlProtocol::snapshot_press (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::snapshot_release (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::read_press (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::read_release (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::write_press (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::write_release (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::fdrgroup_press (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::fdrgroup_release (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::clearsolo_press (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::clearsolo_release (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::track_press (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::track_release (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::send_press (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::send_release (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::miditracks_press (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::miditracks_release (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::inputs_press (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::inputs_release (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::audiotracks_press (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::audiotracks_release (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::audioinstruments_press (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::audioinstruments_release (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::aux_press (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::aux_release (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::busses_press (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::busses_release (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::outputs_press (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::outputs_release (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::user_press (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::user_release (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::trim_press (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::trim_release (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::latch_press (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::latch_release (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::grp_press (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::grp_release (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::nudge_press (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::nudge_release (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::replace_press (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::replace_release (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::click_press (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::click_release (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::view_press (Mackie::Button&) 
+{
+       return none;
+}
+Mackie::LedState 
+MackieControlProtocol::view_release (Mackie::Button&) 
+{
+       return none;
+}