summaryrefslogtreecommitdiff
path: root/src/message.h
diff options
context:
space:
mode:
authorBent Bisballe Nyeng <deva@aasimon.org>2013-04-20 22:06:08 +0200
committerBent Bisballe Nyeng <deva@aasimon.org>2013-04-20 22:06:08 +0200
commit3f33469b7237240a2be708ca29087773a4b7e228 (patch)
tree9ee0a87039d8c45e746c5162ef70de90bafb8f49 /src/message.h
parentc9200c25e02b2ab5c1fc4461a4621d109e798350 (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.h37
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__*/