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/SetMetadata.hpp | |
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/SetMetadata.hpp')
-rw-r--r-- | src/engine/events/SetMetadata.hpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/engine/events/SetMetadata.hpp b/src/engine/events/SetMetadata.hpp index 3fd3c904..cf33b5aa 100644 --- a/src/engine/events/SetMetadata.hpp +++ b/src/engine/events/SetMetadata.hpp @@ -57,6 +57,8 @@ namespace Events { * properties from the message. */ +class SetPortValue; + /** Set properties of a graph object. * \ingroup engine */ @@ -68,10 +70,13 @@ public: SharedPtr<Responder> responder, SampleCount timestamp, QueuedEventSource* source, + bool replace, bool meta, const Raul::URI& subject, const Shared::Resource::Properties& properties); + ~SetMetadata(); + void pre_process(); void execute(ProcessContext& context); void post_process(); @@ -86,13 +91,17 @@ private: POLYPHONIC }; + typedef std::vector<SetPortValue*> SetEvents; + QueuedEvent* _create_event; + SetEvents _set_events; std::vector<SpecialType> _types; Raul::URI _subject; Shared::Resource::Properties _properties; Shared::ResourceImpl* _object; PatchImpl* _patch; CompiledPatch* _compiled_patch; + bool _replace; bool _is_meta; bool _success; }; |