summaryrefslogtreecommitdiffstats
path: root/src/server/ControlBindings.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-07-31 04:34:18 +0000
committerDavid Robillard <d@drobilla.net>2012-07-31 04:34:18 +0000
commitd184de93fce861f4b632f410bde8d527ce1bf34f (patch)
tree9efa412f62028113381f66f8fe256d09fdeb6749 /src/server/ControlBindings.cpp
parent66ac730782803a47ae4977d2db2407126005f4bd (diff)
downloadingen-d184de93fce861f4b632f410bde8d527ce1bf34f.tar.gz
ingen-d184de93fce861f4b632f410bde8d527ce1bf34f.tar.bz2
ingen-d184de93fce861f4b632f410bde8d527ce1bf34f.zip
Move continuous value setting stuff from AudioBuffer to PortImpl.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4582 a436a847-0d15-0410-975c-d299462d15a1
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,