diff options
Diffstat (limited to 'src/engine/events/RequestMetadata.cpp')
-rw-r--r-- | src/engine/events/RequestMetadata.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/engine/events/RequestMetadata.cpp b/src/engine/events/RequestMetadata.cpp index 145260ef..e633ca10 100644 --- a/src/engine/events/RequestMetadata.cpp +++ b/src/engine/events/RequestMetadata.cpp @@ -25,6 +25,7 @@ #include "PortImpl.hpp" #include "PluginImpl.hpp" #include "AudioBuffer.hpp" +#include "StringBuffer.hpp" using namespace std; using namespace Raul; @@ -36,11 +37,11 @@ using namespace Shared; RequestMetadata::RequestMetadata(Engine& engine, - SharedPtr<Responder> responder, - SampleCount timestamp, - bool is_meta, - const URI& subject, - const URI& key) + SharedPtr<Responder> responder, + SampleCount timestamp, + bool is_meta, + const URI& subject, + const URI& key) : QueuedEvent(engine, responder, timestamp) , _error(NO_ERROR) , _special_type(NONE) @@ -93,6 +94,8 @@ RequestMetadata::execute(ProcessContext& context) if (port) { if (port->type() == DataType::CONTROL || port->type() == DataType::AUDIO) _value = ((AudioBuffer*)port->buffer(0))->value_at(0); // TODO: offset + else if (port->type() == DataType::STRING) + _value = (char*)((StringBuffer*)port->buffer(0))->data(); } else { _resource = 0; } |