diff options
Diffstat (limited to 'src/libs/engine/events/RequestMetadataEvent.cpp')
-rw-r--r-- | src/libs/engine/events/RequestMetadataEvent.cpp | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/src/libs/engine/events/RequestMetadataEvent.cpp b/src/libs/engine/events/RequestMetadataEvent.cpp index 23a3ac7b..733a6a82 100644 --- a/src/libs/engine/events/RequestMetadataEvent.cpp +++ b/src/libs/engine/events/RequestMetadataEvent.cpp @@ -28,11 +28,17 @@ using std::string; namespace Ingen { -RequestMetadataEvent::RequestMetadataEvent(Engine& engine, SharedPtr<Responder> responder, SampleCount timestamp, const string& node_path, const string& key) -: QueuedEvent(engine, responder, timestamp), - _path(node_path), - _key(key), - _object(NULL) +RequestMetadataEvent::RequestMetadataEvent(Engine& engine, + SharedPtr<Responder> responder, + SampleCount timestamp, + bool property, + const string& node_path, + const string& key) + : QueuedEvent(engine, responder, timestamp) + , _path(node_path) + , _property(property) + , _key(key) + , _object(NULL) { } @@ -48,7 +54,10 @@ RequestMetadataEvent::pre_process() } } - _value = _object->get_variable(_key); + if (_property) + _value = _object->get_property(_key); + else + _value = _object->get_variable(_key); QueuedEvent::pre_process(); } |