From 46b2e1598ed75319735893ed039ac669aca2d8a7 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Thu, 28 May 2009 14:33:33 +0000 Subject: Make SetMetadataEvent do multiple properties at once. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2019 a436a847-0d15-0410-975c-d299462d15a1 --- src/engine/events/SetMetadataEvent.hpp | 44 +++++++++++++++++++++------------- 1 file changed, 27 insertions(+), 17 deletions(-) (limited to 'src/engine/events/SetMetadataEvent.hpp') diff --git a/src/engine/events/SetMetadataEvent.hpp b/src/engine/events/SetMetadataEvent.hpp index b33cc9ca..e43b1e9f 100644 --- a/src/engine/events/SetMetadataEvent.hpp +++ b/src/engine/events/SetMetadataEvent.hpp @@ -18,6 +18,7 @@ #ifndef SETMETADATAEVENT_H #define SETMETADATAEVENT_H +#include #include "raul/URI.hpp" #include "raul/Atom.hpp" #include "shared/ResourceImpl.hpp" @@ -37,13 +38,22 @@ class CompiledPatch; class SetMetadataEvent : public QueuedEvent { public: - SetMetadataEvent(Engine& engine, - SharedPtr responder, - SampleCount timestamp, - bool meta, - const Raul::URI& subject, - const Raul::URI& key, - const Raul::Atom& value); + SetMetadataEvent( + Engine& engine, + SharedPtr responder, + SampleCount timestamp, + bool meta, + const Raul::URI& subject, + const Raul::URI& key, + const Raul::Atom& value); + + SetMetadataEvent( + Engine& engine, + SharedPtr responder, + SampleCount timestamp, + bool meta, + const Raul::URI& subject, + const Shared::Resource::Properties& properties); void pre_process(); void execute(ProcessContext& context); @@ -51,22 +61,22 @@ public: private: enum { NO_ERROR, NOT_FOUND, INTERNAL, BAD_TYPE } _error; - enum { + enum SpecialType { NONE, ENABLE, ENABLE_BROADCAST, POLYPHONY, POLYPHONIC - } _special_type; + }; - Raul::URI _subject; - Raul::URI _key; - Raul::Atom _value; - Shared::ResourceImpl* _object; - PatchImpl* _patch; - CompiledPatch* _compiled_patch; - bool _is_meta; - bool _success; + std::vector _types; + Raul::URI _subject; + Shared::Resource::Properties _properties; + Shared::ResourceImpl* _object; + PatchImpl* _patch; + CompiledPatch* _compiled_patch; + bool _is_meta; + bool _success; }; -- cgit v1.2.1