diff options
Diffstat (limited to 'src/libs/engine/events/SetPortValueEvent.hpp')
-rw-r--r-- | src/libs/engine/events/SetPortValueEvent.hpp | 26 |
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; }; |