summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/surfaces/osc/osc.cc18
-rw-r--r--libs/surfaces/osc/osc.h4
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);