diff options
-rw-r--r-- | libs/surfaces/osc/osc.cc | 18 | ||||
-rw-r--r-- | libs/surfaces/osc/osc.h | 4 |
2 files changed, 21 insertions, 1 deletions
diff --git a/libs/surfaces/osc/osc.cc b/libs/surfaces/osc/osc.cc index ae91576c9f..7942bace6d 100644 --- a/libs/surfaces/osc/osc.cc +++ b/libs/surfaces/osc/osc.cc @@ -370,6 +370,8 @@ OSC::register_callbacks() REGISTER_CALLBACK (serv, "/ardour/routes/recenable", "ii", route_recenable); REGISTER_CALLBACK (serv, "/ardour/routes/gainabs", "if", route_set_gain_abs); REGISTER_CALLBACK (serv, "/ardour/routes/gaindB", "if", route_set_gain_dB); + REGISTER_CALLBACK (serv, "/ardour/routes/trimabs", "if", route_set_trim_abs); + REGISTER_CALLBACK (serv, "/ardour/routes/trimdB", "if", route_set_trim_dB); REGISTER_CALLBACK (serv, "/ardour/routes/pan_stereo_position", "if", route_set_pan_stereo_position); REGISTER_CALLBACK (serv, "/ardour/routes/pan_stereo_width", "if", route_set_pan_stereo_width); REGISTER_CALLBACK (serv, "/ardour/routes/plugin/parameter", "iiif", route_plugin_parameter); @@ -862,18 +864,32 @@ OSC::route_set_gain_abs (int rid, float level) int OSC::route_set_gain_dB (int rid, float dB) { + return route_set_gain_abs (rid, dB_to_coefficient (dB)); +} + + +int +OSC::route_set_trim_abs (int rid, float level) +{ if (!session) return -1; boost::shared_ptr<Route> r = session->route_by_remote_id (rid); if (r) { - r->set_gain (dB_to_coefficient (dB), this); + r->set_trim (level, this); } return 0; } int +OSC::route_set_trim_dB (int rid, float dB) +{ + return route_set_trim_abs(rid, dB_to_coefficient (dB)); +} + + +int OSC::route_set_pan_stereo_position (int rid, float pos) { if (!session) return -1; diff --git a/libs/surfaces/osc/osc.h b/libs/surfaces/osc/osc.h index 33bcf8ea2b..732da3a05a 100644 --- a/libs/surfaces/osc/osc.h +++ b/libs/surfaces/osc/osc.h @@ -216,6 +216,8 @@ class OSC : public ARDOUR::ControlProtocol, public AbstractUI<OSCUIRequest> PATH_CALLBACK2(route_recenable,i,i); PATH_CALLBACK2(route_set_gain_abs,i,f); PATH_CALLBACK2(route_set_gain_dB,i,f); + PATH_CALLBACK2(route_set_trim_abs,i,f); + PATH_CALLBACK2(route_set_trim_dB,i,f); PATH_CALLBACK2(route_set_pan_stereo_position,i,f); PATH_CALLBACK2(route_set_pan_stereo_width,i,f); PATH_CALLBACK3(route_set_send_gain_abs,i,i,f); @@ -228,6 +230,8 @@ class OSC : public ARDOUR::ControlProtocol, public AbstractUI<OSCUIRequest> int route_recenable (int rid, int yn); int route_set_gain_abs (int rid, float level); int route_set_gain_dB (int rid, float dB); + int route_set_trim_abs (int rid, float level); + int route_set_trim_dB (int rid, float dB); int route_set_pan_stereo_position (int rid, float left_right_fraction); int route_set_pan_stereo_width (int rid, float percent); int route_set_send_gain_abs (int rid, int sid, float val); |