summaryrefslogtreecommitdiff
path: root/libs/surfaces/osc/osc.cc
diff options
context:
space:
mode:
authorLen Ovens <len@ovenwerks.net>2017-03-18 20:05:04 -0700
committerLen Ovens <len@ovenwerks.net>2017-03-18 20:05:04 -0700
commitb0e5ab1b81d10d29d4c4812f2033495f6f8f6b91 (patch)
treea47d061d6b7eb1b46c35f0aba82a0f657201e9e6 /libs/surfaces/osc/osc.cc
parent1bfa74c0f98fb370f1ee4eac6fd6898a24616ccc (diff)
OSC add /monitor/mute,dim,mono
Diffstat (limited to 'libs/surfaces/osc/osc.cc')
-rw-r--r--libs/surfaces/osc/osc.cc40
1 files changed, 39 insertions, 1 deletions
diff --git a/libs/surfaces/osc/osc.cc b/libs/surfaces/osc/osc.cc
index cfa0598102..d6463411da 100644
--- a/libs/surfaces/osc/osc.cc
+++ b/libs/surfaces/osc/osc.cc
@@ -478,7 +478,6 @@ OSC::register_callbacks()
REGISTER_CALLBACK (serv, "/set_loop_range", "f", set_loop_range);
REGISTER_CALLBACK (serv, "/set_session_range", "", set_session_range);
REGISTER_CALLBACK (serv, "/set_session_range", "f", set_session_range);
- // /toggle_monitor_* not working (comented out)
REGISTER_CALLBACK (serv, "/toggle_monitor_mute", "", toggle_monitor_mute);
REGISTER_CALLBACK (serv, "/toggle_monitor_mute", "f", toggle_monitor_mute);
REGISTER_CALLBACK (serv, "/toggle_monitor_dim", "", toggle_monitor_dim);
@@ -542,6 +541,9 @@ OSC::register_callbacks()
REGISTER_CALLBACK (serv, "/master/pan_stereo_position", "f", master_set_pan_stereo_position);
REGISTER_CALLBACK (serv, "/monitor/gain", "f", monitor_set_gain);
REGISTER_CALLBACK (serv, "/monitor/fader", "f", monitor_set_fader);
+ REGISTER_CALLBACK (serv, "/monitor/mute", "i", monitor_set_mute);
+ REGISTER_CALLBACK (serv, "/monitor/dim", "i", monitor_set_dim);
+ REGISTER_CALLBACK (serv, "/monitor/mono", "i", monitor_set_mono);
// Controls for the Selected strip
REGISTER_CALLBACK (serv, "/select/recenable", "i", sel_recenable);
@@ -1809,6 +1811,42 @@ OSC::monitor_set_fader (float position)
}
int
+OSC::monitor_set_mute (uint32_t state)
+{
+ if (!session) return -1;
+
+ if (session->monitor_out()) {
+ boost::shared_ptr<MonitorProcessor> mon = session->monitor_out()->monitor_control();
+ mon->set_cut_all (state);
+ }
+ return 0;
+}
+
+int
+OSC::monitor_set_dim (uint32_t state)
+{
+ if (!session) return -1;
+
+ if (session->monitor_out()) {
+ boost::shared_ptr<MonitorProcessor> mon = session->monitor_out()->monitor_control();
+ mon->set_dim_all (state);
+ }
+ return 0;
+}
+
+int
+OSC::monitor_set_mono (uint32_t state)
+{
+ if (!session) return -1;
+
+ if (session->monitor_out()) {
+ boost::shared_ptr<MonitorProcessor> mon = session->monitor_out()->monitor_control();
+ mon->set_mono (state);
+ }
+ return 0;
+}
+
+int
OSC::route_get_sends(lo_message msg) {
if (!session) {
return -1;