diff options
author | David Robillard <d@drobilla.net> | 2009-10-19 04:07:02 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2009-10-19 04:07:02 +0000 |
commit | a0108c19c4704316a02c85676af349acdda29d72 (patch) | |
tree | c971fe3fa385bd3abfb3d450f7f2b4e1a718ed60 /src/engine/events/SetPortValue.cpp | |
parent | 78ebb57ba3268da3560aa596dfe14c515f617890 (diff) | |
download | ingen-a0108c19c4704316a02c85676af349acdda29d72.tar.gz ingen-a0108c19c4704316a02c85676af349acdda29d72.tar.bz2 ingen-a0108c19c4704316a02c85676af349acdda29d72.zip |
Fix set/PUT with multiple properties of the same predicate.
Actually set port value when PUT of ingen:value occurs (fix ticket #410).
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2198 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/engine/events/SetPortValue.cpp')
-rw-r--r-- | src/engine/events/SetPortValue.cpp | 34 |
1 files changed, 25 insertions, 9 deletions
diff --git a/src/engine/events/SetPortValue.cpp b/src/engine/events/SetPortValue.cpp index ba906705..eacf172b 100644 --- a/src/engine/events/SetPortValue.cpp +++ b/src/engine/events/SetPortValue.cpp @@ -20,17 +20,17 @@ #include "shared/LV2URIMap.hpp" #include "shared/LV2Features.hpp" #include "module/World.hpp" -#include "Responder.hpp" -#include "SetPortValue.hpp" -#include "Engine.hpp" -#include "PortImpl.hpp" +#include "AudioBuffer.hpp" #include "ClientBroadcaster.hpp" -#include "NodeImpl.hpp" +#include "Engine.hpp" #include "EngineStore.hpp" -#include "AudioBuffer.hpp" #include "EventBuffer.hpp" -#include "ProcessContext.hpp" #include "MessageContext.hpp" +#include "NodeImpl.hpp" +#include "PortImpl.hpp" +#include "ProcessContext.hpp" +#include "Responder.hpp" +#include "SetPortValue.hpp" using namespace std; using namespace Raul; @@ -53,7 +53,7 @@ SetPortValue::SetPortValue(Engine& engine, , _omni(true) , _voice_num(0) , _port_path(port_path) - , _value(value) + , _value(value) , _port(NULL) , _error(NO_ERROR) { @@ -73,12 +73,28 @@ SetPortValue::SetPortValue(Engine& engine, , _omni(false) , _voice_num(voice_num) , _port_path(port_path) - , _value(value) + , _value(value) , _port(NULL) , _error(NO_ERROR) { } +/** Internal */ +SetPortValue::SetPortValue(Engine& engine, + SharedPtr<Responder> responder, + SampleCount timestamp, + PortImpl* port, + const Raul::Atom& value) + : QueuedEvent(engine, responder, timestamp) + , _queued(false) + , _omni(true) + , _voice_num(0) + , _port_path(port->path()) + , _value(value) + , _port(port) + , _error(NO_ERROR) +{ +} SetPortValue::~SetPortValue() { |