diff options
author | David Robillard <d@drobilla.net> | 2013-01-15 21:53:48 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2013-01-15 21:53:48 +0000 |
commit | 69c8cde985cc012b6cae2a49d489553c5be67202 (patch) | |
tree | 08411dfc9fcf48660c7467d9140f3c35b16464ee /src/gui | |
parent | 987eaa018039cb891ffeca60b413a00b1f7da299 (diff) | |
download | machina-69c8cde985cc012b6cae2a49d489553c5be67202.tar.gz machina-69c8cde985cc012b6cae2a49d489553c5be67202.tar.bz2 machina-69c8cde985cc012b6cae2a49d489553c5be67202.zip |
Compile against latest Eugene (evolution still doesn't work, though).
git-svn-id: http://svn.drobilla.net/lad/trunk/machina@4994 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/MachinaGUI.cpp | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/gui/MachinaGUI.cpp b/src/gui/MachinaGUI.cpp index 5044dcb..4f26c66 100644 --- a/src/gui/MachinaGUI.cpp +++ b/src/gui/MachinaGUI.cpp @@ -222,11 +222,10 @@ MachinaGUI::~MachinaGUI() bool MachinaGUI::evolve_callback() { - if (_evolve) { - if (_evolver->improvement()) { - //_engine->driver()->set_machine(_evolver->best()); - _canvas->build(_evolver->best(), _menu_view_labels->get_active()); - } + if (_evolve && _evolver->improvement()) { + _engine->driver()->set_machine( + SPtr<Machine>(new Machine(_evolver->best()))); + _controller->announce(_engine->machine()); } return true; @@ -316,13 +315,12 @@ MachinaGUI::evolve_toggled() _engine->driver()->set_machine(SPtr<Machine>()); _evolver->start(); } else { - _evolver->stop(); + _evolver->join(); _evolve = false; SPtr<Machine> new_machine = SPtr<Machine>( - new Machine(*_evolver->best())); + new Machine(_evolver->best())); _engine->driver()->set_machine(new_machine); - _canvas->build(new_machine, _menu_view_labels->get_active()); - new_machine->activate(); + _controller->announce(_engine->machine()); _engine->driver()->activate(); } } |