diff options
author | Len Ovens <len@ovenwerks.net> | 2017-10-25 21:55:02 -0700 |
---|---|---|
committer | Len Ovens <len@ovenwerks.net> | 2017-10-25 21:56:29 -0700 |
commit | 27c8c820769d619740dcaa8875d3ca04856aa0b4 (patch) | |
tree | cc0361ec564213c0162e3904a250170d2cc19378 /libs/surfaces | |
parent | a2965f585a819bd86952e6feff62d66068d44722 (diff) |
OSC: Provide click level control
Diffstat (limited to 'libs/surfaces')
-rw-r--r-- | libs/surfaces/osc/osc.cc | 11 | ||||
-rw-r--r-- | libs/surfaces/osc/osc.h | 2 |
2 files changed, 13 insertions, 0 deletions
diff --git a/libs/surfaces/osc/osc.cc b/libs/surfaces/osc/osc.cc index 45e1e01cba..aa654dc80b 100644 --- a/libs/surfaces/osc/osc.cc +++ b/libs/surfaces/osc/osc.cc @@ -473,6 +473,7 @@ OSC::register_callbacks() REGISTER_CALLBACK (serv, "/mark_out", "f", mark_out); REGISTER_CALLBACK (serv, "/toggle_click", "", toggle_click); REGISTER_CALLBACK (serv, "/toggle_click", "f", toggle_click); + REGISTER_CALLBACK (serv, "/click/level", "f", click_level); REGISTER_CALLBACK (serv, "/midi_panic", "", midi_panic); REGISTER_CALLBACK (serv, "/midi_panic", "f", midi_panic); REGISTER_CALLBACK (serv, "/toggle_roll", "", toggle_roll); @@ -2302,6 +2303,16 @@ OSC::jog_mode (float mode, lo_message msg) } +int +OSC::click_level (float position) +{ + if (!session) return -1; + if (session->click_gain()->gain_control()) { + session->click_gain()->gain_control()->set_value (session->click_gain()->gain_control()->interface_to_internal (position), PBD::Controllable::NoGroup); + } + return 0; +} + // master and monitor calls int OSC::master_set_gain (float dB) diff --git a/libs/surfaces/osc/osc.h b/libs/surfaces/osc/osc.h index d9069bf3c3..2f6c661119 100644 --- a/libs/surfaces/osc/osc.h +++ b/libs/surfaces/osc/osc.h @@ -423,6 +423,7 @@ class OSC : public ARDOUR::ControlProtocol, public AbstractUI<OSCUIRequest> PATH_CALLBACK1(monitor_set_mute,i,); PATH_CALLBACK1(monitor_set_dim,i,); PATH_CALLBACK1(monitor_set_mono,i,); + PATH_CALLBACK1(click_level,f,); #define PATH_CALLBACK1_MSG(name,arg1type) \ static int _ ## name (const char *path, const char *types, lo_arg **argv, int argc, void *data, void *user_data) { \ @@ -635,6 +636,7 @@ class OSC : public ARDOUR::ControlProtocol, public AbstractUI<OSCUIRequest> int scrub (float delta, lo_message msg); int jog (float delta, lo_message msg); int jog_mode (float mode, lo_message msg); + int click_level (float position); int master_set_gain (float dB); int master_set_fader (float position); int master_delta_gain (float delta); |