mackie: add new bindings for Save,Undo,Cancel,Enter
authorPaul Davis <paul@linuxaudiosystems.com>
Mon, 1 Feb 2016 17:22:01 +0000 (12:22 -0500)
committerPaul Davis <paul@linuxaudiosystems.com>
Mon, 1 Feb 2016 17:22:01 +0000 (12:22 -0500)
these now control punch in, punch out, external sync and follow edits, respectively

libs/surfaces/mackie/mackie_control_protocol.cc
libs/surfaces/mackie/mcp_buttons.cc

index 29af02fa82c2eff767b6b635be885900b684c46c..a96e032fbc7990d65d9a6e7d176b0841224f1430 100644 (file)
@@ -1192,13 +1192,21 @@ MackieControlProtocol::update_timecode_display()
 void MackieControlProtocol::notify_parameter_changed (std::string const & p)
 {
        if (p == "punch-in") {
-               // no such button right now
-               // update_global_button (Button::PunchIn, session->config.get_punch_in());
+               update_global_button (Button::Save, session->config.get_punch_in() ? flashing : off);
        } else if (p == "punch-out") {
-               // no such button right now
-               // update_global_button (Button::PunchOut, session->config.get_punch_out());
+               update_global_button (Button::Undo, session->config.get_punch_out() ? flashing : off);
        } else if (p == "clicking") {
                update_global_button (Button::Click, Config->get_clicking());
+       } else if (p == "follow-edits") {
+               /* we can't respond to this at present, because "follow-edits"
+                * is  a property of the (G)UI configuration object, to which we
+                * have no access. For now, this means that the lit state of
+                * this button (if there is one) won't reflect the setting.
+                */
+
+               //update_global_button (Button::Enter, session->config.get_follow_edits() ? on : off);
+       } else if (p == "external-sync") {
+               update_global_button (Button::Cancel, session->config.get_external_sync() ? on : off);
        } else {
                DEBUG_TRACE (DEBUG::MackieControl, string_compose ("parameter changed: %1\n", p));
        }
index ff1b85874ff4a522870f1690f75649427f8dffaf..2c385ccae4d65e04501113663ca4c623e2d57b43 100644 (file)
@@ -372,14 +372,14 @@ MackieControlProtocol::drop_release (Button &)
 LedState
 MackieControlProtocol::save_press (Button &)
 {
-       session->save_state ("");
-       return on;
+       toggle_punch_in ();
+       return none;
 }
 
 LedState
 MackieControlProtocol::save_release (Button &)
 {
-       return off;
+       return none;
 }
 
 LedState
@@ -573,14 +573,14 @@ MackieControlProtocol::clicking_release (Button &)
 LedState
 MackieControlProtocol::enter_press (Button &)
 {
-       Enter(); /* EMIT SIGNAL */
-       return off;
+       access_action ("Transport/ToggleFollowEdits");
+       return none;
 }
 
 LedState
 MackieControlProtocol::enter_release (Button &)
 {
-       return off;
+       return none;
 }
 
 LedState
@@ -773,12 +773,13 @@ MackieControlProtocol::touch_release (Button &)
 LedState
 MackieControlProtocol::cancel_press (Button &)
 {
-       return off;
+       access_action ("Transport/ToggleExternalSync");
+       return none;
 }
 LedState
 MackieControlProtocol::cancel_release (Button &)
 {
-       return off;
+       return none;
 }
 LedState
 MackieControlProtocol::user_a_press (Button &)