OSC: added a linear VCA style gain control for faders that are 0 to 1 linear.

path = /ardour/routes/gainVCA if RID position
This commit is contained in:
Len Ovens 2016-03-26 11:38:19 -07:00
parent 35e4c9936d
commit 6c3559dc6c
2 changed files with 9 additions and 0 deletions

View file

@ -477,6 +477,7 @@ 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/gainVCA", "if", route_set_gain_VCA);
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);
@ -1110,6 +1111,12 @@ OSC::route_set_gain_dB (int rid, float dB)
return route_set_gain_abs (rid, dB_to_coefficient (dB));
}
int
OSC::route_set_gain_VCA (int rid, float pos)
{
return route_set_gain_abs (rid, slider_position_to_gain_with_max (pos, 2.0));
}
int
OSC::route_set_trim_abs (int rid, float level)

View file

@ -290,6 +290,7 @@ 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_gain_VCA,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);
@ -304,6 +305,7 @@ 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_gain_VCA (int rid, float pos);
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);