aboutsummaryrefslogtreecommitdiffstats
path: root/src/gui/MachinaGUI.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2013-01-14 02:42:29 +0000
committerDavid Robillard <d@drobilla.net>2013-01-14 02:42:29 +0000
commit08e702ada89b951466c7b9c787663e0a57846e5a (patch)
treeebc017225112c6245caeb310859b16cabf50fab0 /src/gui/MachinaGUI.cpp
parentf111891cfbc183339e3119d5ff3718184cdedd21 (diff)
downloadmachina-08e702ada89b951466c7b9c787663e0a57846e5a.tar.gz
machina-08e702ada89b951466c7b9c787663e0a57846e5a.tar.bz2
machina-08e702ada89b951466c7b9c787663e0a57846e5a.zip
Make quantize spinner control step record and new node length.
Only quantize non-step recording if quantize checkbox is enabled. git-svn-id: http://svn.drobilla.net/lad/trunk/machina@4977 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/gui/MachinaGUI.cpp')
-rw-r--r--src/gui/MachinaGUI.cpp25
1 files changed, 8 insertions, 17 deletions
diff --git a/src/gui/MachinaGUI.cpp b/src/gui/MachinaGUI.cpp
index 5057f5a..2147c27 100644
--- a/src/gui/MachinaGUI.cpp
+++ b/src/gui/MachinaGUI.cpp
@@ -149,6 +149,8 @@ MachinaGUI::MachinaGUI(SPtr<machina::Engine> engine)
_bpm_spinbutton->signal_changed().connect(
sigc::mem_fun(this, &MachinaGUI::tempo_changed));
_quantize_checkbutton->signal_toggled().connect(
+ sigc::mem_fun(this, &MachinaGUI::quantize_record_changed));
+ _quantize_spinbutton->signal_changed().connect(
sigc::mem_fun(this, &MachinaGUI::quantize_changed));
_mutate_button->signal_clicked().connect(
@@ -176,8 +178,6 @@ MachinaGUI::MachinaGUI(SPtr<machina::Engine> engine)
sigc::bind(sigc::mem_fun(this, &MachinaGUI::mutate),
SPtr<Machine>(), 6));
- connect_widgets();
-
_canvas->widget().show();
_main_window->present();
@@ -375,7 +375,6 @@ MachinaGUI::update_toolbar()
_record_button->set_active(state == Driver::PlayState::RECORDING);
_step_record_button->set_active(state == Driver::PlayState::STEP_RECORDING);
_play_button->set_active(state == Driver::PlayState::PLAYING);
- _quantize_spinbutton->set_sensitive(_quantize_checkbutton->get_active());
}
void
@@ -386,31 +385,23 @@ MachinaGUI::rebuild_canvas()
}
void
-MachinaGUI::quantize_changed()
+MachinaGUI::quantize_record_changed()
{
- if (_quantize_checkbutton->get_active()) {
- _engine->set_quantization(1.0 / _quantize_spinbutton->get_value());
- } else {
- _engine->set_quantization(0.0);
- }
- update_toolbar();
+ _engine->driver()->set_quantize_record(_quantize_checkbutton->get_active());
}
void
-MachinaGUI::tempo_changed()
+MachinaGUI::quantize_changed()
{
- _engine->set_bpm(_bpm_spinbutton->get_value_as_int());
+ _engine->set_quantization(1.0 / _quantize_spinbutton->get_value());
}
-/** Update the sensitivity status of menus to reflect the present.
- */
void
-MachinaGUI::connect_widgets()
+MachinaGUI::tempo_changed()
{
+ _engine->set_bpm(_bpm_spinbutton->get_value_as_int());
}
-using namespace std;
-
void
MachinaGUI::menu_file_quit()
{