diff options
author | Bent Bisballe Nyeng <deva@aasimon.org> | 2013-04-20 22:06:08 +0200 |
---|---|---|
committer | Bent Bisballe Nyeng <deva@aasimon.org> | 2013-04-20 22:06:08 +0200 |
commit | 3f33469b7237240a2be708ca29087773a4b7e228 (patch) | |
tree | 9ee0a87039d8c45e746c5162ef70de90bafb8f49 /src/message.h | |
parent | c9200c25e02b2ab5c1fc4461a4621d109e798350 (diff) |
Added messages for 'get engine seetings' and 'set engine setting', thereby removing the last 'direct call' in the engine code from the gui code.
Diffstat (limited to 'src/message.h')
-rw-r--r-- | src/message.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/message.h b/src/message.h index c37db12..9bf2f12 100644 --- a/src/message.h +++ b/src/message.h @@ -36,6 +36,8 @@ public: // GUI -> Engine, Engine -> Engine Messages: LoadDrumKit, // Signal engine to load drumkit. LoadMidimap, // Signal engine to load midimap. + EngineSettingsMessage, // Request or receive engine settings. + ChangeSettingMessage, // Update named setting in engine. } type_t; virtual ~Message() {} @@ -62,4 +64,39 @@ public: std::string midimapfile; }; +class EngineSettingsMessage : public Message { +public: + type_t type() { return Message::EngineSettingsMessage; } + std::string midimapfile; + bool midimap_loaded; + + std::string drumkitfile; + bool drumkit_loaded; + + float enable_velocity_modifier; + float velocity_modifier_falloff; + float velocity_modifier_weight; + float enable_velocity_randomiser; + float velocity_randomiser_weight; +}; + +class ChangeSettingMessage : public Message { +public: + typedef enum { + enable_velocity_modifier, + velocity_modifier_weight, + velocity_modifier_falloff, + } setting_name_t; + + ChangeSettingMessage(setting_name_t n, float v) { + name = n; + value = v; + } + + type_t type() { return Message::ChangeSettingMessage; } + + setting_name_t name; + float value; +}; + #endif/*__DRUMGIZMO_MESSAGE_H__*/ |