summaryrefslogtreecommitdiffstats
path: root/src/server/ControlBindings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/ControlBindings.cpp')
-rw-r--r--src/server/ControlBindings.cpp9
1 files changed, 2 insertions, 7 deletions
diff --git a/src/server/ControlBindings.cpp b/src/server/ControlBindings.cpp
index cec5a83c..1bb0e5f6 100644
--- a/src/server/ControlBindings.cpp
+++ b/src/server/ControlBindings.cpp
@@ -320,14 +320,9 @@ ControlBindings::set_port_value(ProcessContext& context,
const Raul::Atom port_value(control_to_port_value(context, port, type, value));
- port->set_value(port_value);
-
assert(port_value.type() == port->bufs().forge().Float);
- assert(dynamic_cast<AudioBuffer*>(port->buffer(0).get()));
-
- for (uint32_t v = 0; v < port->poly(); ++v)
- reinterpret_cast<AudioBuffer*>(port->buffer(v).get())->set_value(
- port_value.get_float(), context.start(), context.start());
+ port->set_value(port_value); // FIXME: not thread safe
+ port->set_control_value(context, context.start(), port_value.get_float());
URIs& uris = context.engine().world()->uris();
context.notify(uris.ingen_value, context.start(), port,