summaryrefslogtreecommitdiff
path: root/libs/surfaces/osc/osc.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-02-17 03:58:51 +0100
committerRobin Gareus <robin@gareus.org>2017-02-17 03:58:51 +0100
commit9d8829f5bfb13776795437cc104be4d8741b86d6 (patch)
treec5fcc599119b2048ba28eb91eeda744868697f32 /libs/surfaces/osc/osc.cc
parentfef0739a1073c9ef1ef80e6980271a0aab56f080 (diff)
Remove direct calls to set solo_control()
Changing solo-state needs to be done in rt-context to atomically propagate solo/mute. set_control() queues a rt-event, later Session::rt_set_control() calls Session::update_route_solo_state() to propagate solo/mute.
Diffstat (limited to 'libs/surfaces/osc/osc.cc')
-rw-r--r--libs/surfaces/osc/osc.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/libs/surfaces/osc/osc.cc b/libs/surfaces/osc/osc.cc
index 2a4b1b7d99..c338999fb4 100644
--- a/libs/surfaces/osc/osc.cc
+++ b/libs/surfaces/osc/osc.cc
@@ -2003,8 +2003,8 @@ OSC::sel_solo (uint32_t yn, lo_message msg)
}
if (s) {
if (s->solo_control()) {
- s->solo_control()->set_value (yn ? 1.0 : 0.0, PBD::Controllable::NoGroup);
- return sel_fail ("solo", (float) s->solo_control()->get_value(), get_address (msg));
+ session->set_control (s->solo_control(), yn ? 1.0 : 0.0, PBD::Controllable::NoGroup);
+ return sel_fail ("solo", yn, get_address (msg));
}
}
return sel_fail ("solo", 0, get_address (msg));