summaryrefslogtreecommitdiff
path: root/libs/surfaces/control_protocol
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/control_protocol
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/control_protocol')
-rw-r--r--libs/surfaces/control_protocol/control_protocol.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/libs/surfaces/control_protocol/control_protocol.cc b/libs/surfaces/control_protocol/control_protocol.cc
index 311c2d1081..36131e0b9e 100644
--- a/libs/surfaces/control_protocol/control_protocol.cc
+++ b/libs/surfaces/control_protocol/control_protocol.cc
@@ -295,7 +295,8 @@ ControlProtocol::route_set_soloed (uint32_t table_index, bool yn)
boost::shared_ptr<Route> r = route_table[table_index];
if (r != 0) {
- r->solo_control()->set_value (yn ? 1.0 : 0.0, Controllable::UseGroup);
+ r->solo_control()->set_value (yn ? 1.0 : 0.0, Controllable::UseGroup); // XXX does not propagate
+ //_session->set_control (r->solo_control(), yn ? 1.0 : 0.0, Controllable::UseGroup); // << correct way, needs a session ptr
}
}