From aa11564fef8ed9330d42081288e8f310072c67d6 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Fri, 7 Dec 2007 17:27:06 +0000 Subject: Fix loading selector nodes. Choosing evolution target MIDI from GUI. git-svn-id: http://svn.drobilla.net/lad/machina@963 a436a847-0d15-0410-975c-d299462d15a1 --- src/engine/Mutation.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/engine/Mutation.cpp') diff --git a/src/engine/Mutation.cpp b/src/engine/Mutation.cpp index d60ef34..a307ce5 100644 --- a/src/engine/Mutation.cpp +++ b/src/engine/Mutation.cpp @@ -52,10 +52,12 @@ AddNode::mutate(Machine& machine) //cout << "ADD NODE" << endl; // Create random node - SharedPtr node(new Node(1.0)); + SharedPtr node(new Node()); node->set_selector(true); SharedPtr note_node = machine.random_node(); + if (!note_node) + return; uint8_t note = PtrCast(note_node->enter_action())->event()[1]; node->set_enter_action(ActionFactory::note_on(note)); @@ -154,7 +156,7 @@ RemoveEdge::mutate(Machine& machine) //cout << "REMOVE EDGE" << endl; SharedPtr tail = machine.random_node(); - if (tail) + if (tail && !(tail->is_initial() && tail->edges().size() == 1)) tail->remove_edge(tail->random_edge()); } -- cgit v1.2.1