implement mark_in, mark_out, toggle_click
authorBen Loftis <ben@harrisonconsoles.com>
Fri, 15 Jan 2016 23:11:19 +0000 (17:11 -0600)
committerRobin Gareus <robin@gareus.org>
Mon, 18 Jan 2016 17:24:14 +0000 (18:24 +0100)
libs/surfaces/control_protocol/basic_ui.cc
libs/surfaces/control_protocol/control_protocol/basic_ui.h
libs/surfaces/osc/osc.cc
libs/surfaces/osc/osc.h

index 100b925ecd9cf6e0f7b314d1e31904e1fcc78c12..10ed322e8e3c785799069e882520ed53af3e0c0e 100644 (file)
@@ -345,6 +345,24 @@ BasicUI::jump_by_bars (double bars)
        session->request_locate ( session->convert_to_frames (any) );
 }
 
+void
+BasicUI::mark_in ()
+{
+       access_action("Editor/start-range");
+}
+
+void
+BasicUI::mark_out ()
+{
+       access_action("Editor/finish-range");
+}
+
+void
+BasicUI::toggle_click ()
+{
+       access_action("Transport/ToggleClick");
+}
+
 bool
 BasicUI::locating ()
 {
index 2f30c9929ec9a3ba6dd8c645c2c0c3ecc54c6583..8469acde3a0d94239f45cfa916d2752d193e3387 100644 (file)
@@ -81,6 +81,11 @@ class LIBCONTROLCP_API BasicUI {
        void redo ();
        void toggle_punch_in ();
        void toggle_punch_out ();
+       
+       void mark_in();
+       void mark_out();
+
+       void toggle_click();
 
        void set_record_enable (bool yn);
        bool get_record_enabled ();
index c91d0b42065a1e12daeb7e00f71c381a7ac0f975..7dc9de6541a898cd0f42c447343c19ebf6aeb4d4 100644 (file)
@@ -362,6 +362,9 @@ OSC::register_callbacks()
                REGISTER_CALLBACK (serv, "/ardour/toggle_all_rec_enables", "", toggle_all_rec_enables);
                REGISTER_CALLBACK (serv, "/ardour/jump_bars", "f", jump_by_bars);
                REGISTER_CALLBACK (serv, "/ardour/jump_seconds", "f", jump_by_seconds);
+               REGISTER_CALLBACK (serv, "/ardour/mark_in", "", mark_in);
+               REGISTER_CALLBACK (serv, "/ardour/mark_out", "", mark_out);
+               REGISTER_CALLBACK (serv, "/ardour/toggle_click", "", toggle_click);
 
 
                /*
@@ -392,10 +395,9 @@ OSC::register_callbacks()
                REGISTER_CALLBACK (serv, "/ardour/pushbutton/toggle_punch_out", "f", toggle_punch_out);
                REGISTER_CALLBACK (serv, "/ardour/pushbutton/rec_enable_toggle", "f", rec_enable_toggle);
                REGISTER_CALLBACK (serv, "/ardour/pushbutton/toggle_all_rec_enables", "f", toggle_all_rec_enables);
-
-               //ToDo
-//             REGISTER_CALLBACK (serv, "/ardour/pushbutton/mark_in", "f", mark_in);
-//             REGISTER_CALLBACK (serv, "/ardour/pushbutton/mark_out", "f", mark_out);
+               REGISTER_CALLBACK (serv, "/ardour/pushbutton/mark_in", "f", mark_in);
+               REGISTER_CALLBACK (serv, "/ardour/pushbutton/mark_out", "f", mark_out);
+               REGISTER_CALLBACK (serv, "/ardour/pushbutton/toggle_click", "f", toggle_click);
 
                REGISTER_CALLBACK (serv, "/ardour/routes/mute", "ii", route_mute);
                REGISTER_CALLBACK (serv, "/ardour/routes/solo", "ii", route_solo);
index 72e6b3ef3e2fa08a8198befa82681110102a6f4b..77d5c42cb1e0e1ebfbe2f40e75523fc52fa33288 100644 (file)
@@ -192,6 +192,9 @@ class OSC : public ARDOUR::ControlProtocol, public AbstractUI<OSCUIRequest>
        PATH_CALLBACK(toggle_punch_out);
        PATH_CALLBACK(rec_enable_toggle);
        PATH_CALLBACK(toggle_all_rec_enables);
+       PATH_CALLBACK(mark_in);
+       PATH_CALLBACK(mark_out);
+       PATH_CALLBACK(toggle_click);
 
 #define PATH_CALLBACK1(name,type,optional)                                     \
         static int _ ## name (const char *path, const char *types, lo_arg **argv, int argc, void *data, void *user_data) { \