summaryrefslogtreecommitdiffstats
path: root/src/engine/events/RequestMetadata.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/events/RequestMetadata.cpp')
-rw-r--r--src/engine/events/RequestMetadata.cpp13
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;
}