summaryrefslogtreecommitdiffstats
path: root/src/libs/engine/events/SetPortValueEvent.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/engine/events/SetPortValueEvent.hpp')
-rw-r--r--src/libs/engine/events/SetPortValueEvent.hpp26
1 files changed, 21 insertions, 5 deletions
diff --git a/src/libs/engine/events/SetPortValueEvent.hpp b/src/libs/engine/events/SetPortValueEvent.hpp
index da378347..4b6e8d92 100644
--- a/src/libs/engine/events/SetPortValueEvent.hpp
+++ b/src/libs/engine/events/SetPortValueEvent.hpp
@@ -35,18 +35,34 @@ class Port;
class SetPortValueEvent : public Event
{
public:
- SetPortValueEvent(Engine& engine, SharedPtr<Responder> responder, SampleCount timestamp, const string& port_path, Sample val);
- SetPortValueEvent(Engine& engine, SharedPtr<Responder> responder, SampleCount timestamp, size_t voice_num, const string& port_path, Sample val);
+ SetPortValueEvent(Engine& engine,
+ SharedPtr<Responder> responder,
+ SampleCount timestamp,
+ const string& port_path,
+ uint32_t data_size,
+ const void* data);
+
+ SetPortValueEvent(Engine& engine,
+ SharedPtr<Responder> responder,
+ SampleCount timestamp,
+ uint32_t voice_num,
+ const string& port_path,
+ uint32_t data_size,
+ const void* data);
+
+ ~SetPortValueEvent();
void execute(SampleCount nframes, FrameTime start, FrameTime end);
void post_process();
private:
- enum ErrorType { NO_ERROR, PORT_NOT_FOUND, TYPE_MISMATCH };
+ enum ErrorType { NO_ERROR, PORT_NOT_FOUND, NO_SPACE };
- int _voice_num;
+ bool _omni;
+ uint32_t _voice_num;
string _port_path;
- float _val;
+ uint32_t _data_size;
+ void* _data;
Port* _port;
ErrorType _error;
};