diff options
Diffstat (limited to 'libs/surfaces/osc/osc.cc')
-rw-r--r-- | libs/surfaces/osc/osc.cc | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/libs/surfaces/osc/osc.cc b/libs/surfaces/osc/osc.cc index 46446f357e..4aa27018fb 100644 --- a/libs/surfaces/osc/osc.cc +++ b/libs/surfaces/osc/osc.cc @@ -543,6 +543,7 @@ OSC::register_callbacks() REGISTER_CALLBACK (serv, "/master/mute", "i", master_set_mute); REGISTER_CALLBACK (serv, "/master/trimdB", "f", master_set_trim); REGISTER_CALLBACK (serv, "/master/pan_stereo_position", "f", master_set_pan_stereo_position); + REGISTER_CALLBACK (serv, "/master/select", "f", master_select); REGISTER_CALLBACK (serv, "/monitor/gain", "f", monitor_set_gain); REGISTER_CALLBACK (serv, "/monitor/fader", "f", monitor_set_fader); REGISTER_CALLBACK (serv, "/monitor/db_delta", "f", monitor_delta_gain); @@ -2485,6 +2486,22 @@ OSC::master_set_mute (uint32_t state) } int +OSC::master_select (lo_message msg) +{ + if (!session) { + return -1; + } + OSCSurface *sur = get_surface(get_address (msg)); + sur->expand_enable = false; + boost::shared_ptr<Stripable> s = session->master_out(); + if (s) { + SetStripableSelection (s); + } + + return 0; +} + +int OSC::monitor_set_gain (float dB) { if (!session) return -1; |