summaryrefslogtreecommitdiff
path: root/plugingui/plugingui.cc
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 /plugingui/plugingui.cc
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 'plugingui/plugingui.cc')
-rw-r--r--plugingui/plugingui.cc42
1 files changed, 32 insertions, 10 deletions
diff --git a/plugingui/plugingui.cc b/plugingui/plugingui.cc
index 7144140..9403939 100644
--- a/plugingui/plugingui.cc
+++ b/plugingui/plugingui.cc
@@ -60,13 +60,22 @@ namespace Conf {
static void checkClick(void *ptr)
{
PluginGUI *gui = (PluginGUI*)ptr;
- Conf::enable_velocity_modifier = gui->check->checked();
+
+ ChangeSettingMessage *msg =
+ new ChangeSettingMessage(ChangeSettingMessage::enable_velocity_modifier,
+ gui->check->checked());
+ gui->drumgizmo->sendEngineMessage(msg);
}
static void knobChange(void *ptr)
{
PluginGUI *gui = (PluginGUI*)ptr;
- Conf::velocity_modifier_weight = gui->knob->value();
+
+ ChangeSettingMessage *msg =
+ new ChangeSettingMessage(ChangeSettingMessage::velocity_modifier_weight,
+ gui->knob->value());
+ gui->drumgizmo->sendEngineMessage(msg);
+
#ifdef STANDALONE
int i = gui->knob->value() * 4;
switch(i) {
@@ -82,7 +91,12 @@ static void knobChange(void *ptr)
static void knobChange2(void *ptr)
{
PluginGUI *gui = (PluginGUI*)ptr;
- Conf::velocity_modifier_falloff = gui->knob2->value();
+
+ ChangeSettingMessage *msg =
+ new ChangeSettingMessage(ChangeSettingMessage::velocity_modifier_falloff,
+ gui->knob2->value());
+ gui->drumgizmo->sendEngineMessage(msg);
+
#ifdef STANDALONE
gui->progress->setProgress(gui->knob2->value());
#endif
@@ -201,6 +215,11 @@ void PluginGUI::thread_main()
{
init();
+ { // Request all engine settings
+ EngineSettingsMessage *msg = new EngineSettingsMessage();
+ drumgizmo->sendEngineMessage(msg);
+ }
+
while(running) {
eventhandler->processEvents(window);
#ifdef WIN32
@@ -231,6 +250,16 @@ void PluginGUI::thread_main()
}
}
break;
+ case Message::EngineSettingsMessage:
+ {
+ EngineSettingsMessage *settings = (EngineSettingsMessage *)msg;
+ lineedit->setText(settings->drumkitfile);
+ lineedit2->setText(settings->midimapfile);
+ check->setChecked(settings->enable_velocity_modifier);
+ knob->setValue(settings->velocity_modifier_weight);
+ knob2->setValue(settings->velocity_modifier_falloff);
+
+ }
default:
break;
}
@@ -274,9 +303,6 @@ void PluginGUI::init()
y += OFFSET1;
lineedit = new GUI::LineEdit(window);
- if(drumgizmo) lineedit->setText(drumgizmo->drumkitfile());
- else lineedit->setText("/home/deva/aasimonster/aasimonster.xml");
- //else lineedit->setText("Missing DrumGizmo*");
lineedit->move(XOFFSET, y);
lineedit->resize(243, 29);
@@ -307,7 +333,6 @@ void PluginGUI::init()
y += OFFSET1;
lineedit2 = new GUI::LineEdit(window);
- if(drumgizmo) lineedit2->setText(drumgizmo->midimapfile);
lineedit2->move(XOFFSET, y);
lineedit2->resize(243, 29);
@@ -342,7 +367,6 @@ void PluginGUI::init()
//check->setText("Enable Velocity Modifier");
check->move(26, y + OFFSET4);
check->resize(59,38);
- check->setChecked(Conf::enable_velocity_modifier);
check->registerClickHandler(checkClick, this);
// Velocity Weight Modifier:
@@ -355,7 +379,6 @@ void PluginGUI::init()
knob = new GUI::Knob(window);
knob->move(109, y + OFFSET4 - 4);
knob->resize(57, 57);
- knob->setValue(Conf::velocity_modifier_weight);
knob->registerClickHandler(knobChange, this);
}
@@ -369,7 +392,6 @@ void PluginGUI::init()
knob2 = new GUI::Knob(window);
knob2->move(202 - 13 - 5, y + OFFSET4 - 4);
knob2->resize(57, 57);
- knob2->setValue(Conf::velocity_modifier_falloff);
knob2->registerClickHandler(knobChange2, this);
}
}