aboutsummaryrefslogtreecommitdiffstats
path: root/src/gui
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2013-01-15 21:53:48 +0000
committerDavid Robillard <d@drobilla.net>2013-01-15 21:53:48 +0000
commit69c8cde985cc012b6cae2a49d489553c5be67202 (patch)
tree08411dfc9fcf48660c7467d9140f3c35b16464ee /src/gui
parent987eaa018039cb891ffeca60b413a00b1f7da299 (diff)
downloadmachina-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.cpp16
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();
}
}