summaryrefslogtreecommitdiffstats
path: root/src/libs/engine/events/SetPortValueEvent.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2008-08-17 01:34:53 +0000
committerDavid Robillard <d@drobilla.net>2008-08-17 01:34:53 +0000
commit694b31089c8060fc6b908b146b12c0e340d004c7 (patch)
tree48b0e0195de5e7b297e65be15eda35639585ef8a /src/libs/engine/events/SetPortValueEvent.hpp
parent3dc90cc95df35e5c786857336f22856c6373b00f (diff)
downloadingen-694b31089c8060fc6b908b146b12c0e340d004c7.tar.gz
ingen-694b31089c8060fc6b908b146b12c0e340d004c7.tar.bz2
ingen-694b31089c8060fc6b908b146b12c0e340d004c7.zip
Cloooser...
Bundling of OSC communication both ways (previous was just engine->client). Factor out common OSC*Sender functionality (bundling stuff). Fully type-safe and polyphony-aware port value setting/getting, from RDF through OSC through engine and back again. git-svn-id: http://svn.drobilla.net/lad/ingen@1409 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/engine/events/SetPortValueEvent.hpp')
-rw-r--r--src/libs/engine/events/SetPortValueEvent.hpp27
1 files changed, 11 insertions, 16 deletions
diff --git a/src/libs/engine/events/SetPortValueEvent.hpp b/src/libs/engine/events/SetPortValueEvent.hpp
index a509af33..2fc68d9b 100644
--- a/src/libs/engine/events/SetPortValueEvent.hpp
+++ b/src/libs/engine/events/SetPortValueEvent.hpp
@@ -45,9 +45,7 @@ public:
bool queued,
SampleCount timestamp,
const string& port_path,
- const string& data_type,
- uint32_t data_size,
- const void* data);
+ const Raul::Atom& value);
SetPortValueEvent(Engine& engine,
SharedPtr<Responder> responder,
@@ -55,9 +53,7 @@ public:
SampleCount timestamp,
uint32_t voice_num,
const string& port_path,
- const string& data_type,
- uint32_t data_size,
- const void* data);
+ const Raul::Atom& value);
~SetPortValueEvent();
@@ -66,17 +62,16 @@ public:
void post_process();
private:
- enum ErrorType { NO_ERROR, PORT_NOT_FOUND, NO_SPACE, ILLEGAL_PATH, ILLEGAL_VOICE };
+ enum ErrorType { NO_ERROR, PORT_NOT_FOUND, NO_SPACE,
+ ILLEGAL_PATH, ILLEGAL_VOICE, TYPE_MISMATCH };
- bool _queued;
- bool _omni;
- uint32_t _voice_num;
- const string _port_path;
- const string _data_type;
- uint32_t _data_size;
- void* _data;
- PortImpl* _port;
- ErrorType _error;
+ bool _queued;
+ bool _omni;
+ uint32_t _voice_num;
+ const string _port_path;
+ const Raul::Atom _value;
+ PortImpl* _port;
+ ErrorType _error;
};