From 36e1ff48bc93dbc52ed0388eba15e5b0a3ea3eea Mon Sep 17 00:00:00 2001 From: Ben Loftis Date: Fri, 15 Jan 2016 17:11:19 -0600 Subject: implement mark_in, mark_out, toggle_click --- libs/surfaces/control_protocol/basic_ui.cc | 18 ++++++++++++++++++ .../control_protocol/control_protocol/basic_ui.h | 5 +++++ libs/surfaces/osc/osc.cc | 10 ++++++---- libs/surfaces/osc/osc.h | 3 +++ 4 files changed, 32 insertions(+), 4 deletions(-) (limited to 'libs') diff --git a/libs/surfaces/control_protocol/basic_ui.cc b/libs/surfaces/control_protocol/basic_ui.cc index 100b925ecd..10ed322e8e 100644 --- a/libs/surfaces/control_protocol/basic_ui.cc +++ b/libs/surfaces/control_protocol/basic_ui.cc @@ -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 () { diff --git a/libs/surfaces/control_protocol/control_protocol/basic_ui.h b/libs/surfaces/control_protocol/control_protocol/basic_ui.h index 2f30c9929e..8469acde3a 100644 --- a/libs/surfaces/control_protocol/control_protocol/basic_ui.h +++ b/libs/surfaces/control_protocol/control_protocol/basic_ui.h @@ -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 (); diff --git a/libs/surfaces/osc/osc.cc b/libs/surfaces/osc/osc.cc index c91d0b4206..7dc9de6541 100644 --- a/libs/surfaces/osc/osc.cc +++ b/libs/surfaces/osc/osc.cc @@ -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); diff --git a/libs/surfaces/osc/osc.h b/libs/surfaces/osc/osc.h index 72e6b3ef3e..77d5c42cb1 100644 --- a/libs/surfaces/osc/osc.h +++ b/libs/surfaces/osc/osc.h @@ -192,6 +192,9 @@ class OSC : public ARDOUR::ControlProtocol, public AbstractUI 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) { \ -- cgit v1.2.3