diff options
Diffstat (limited to 'src/engine/machina')
-rw-r--r-- | src/engine/machina/MachineMutation.hpp | 4 | ||||
-rw-r--r-- | src/engine/machina/Node.hpp | 5 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/engine/machina/MachineMutation.hpp b/src/engine/machina/MachineMutation.hpp index 34eda30..0a9731c 100644 --- a/src/engine/machina/MachineMutation.hpp +++ b/src/engine/machina/MachineMutation.hpp @@ -26,6 +26,10 @@ namespace Mutation { struct Mutation { virtual void mutate(Machine& machine) = 0; }; +struct Compress { static void mutate(Machine& machine); }; +struct AddNode { static void mutate(Machine& machine); }; +struct RemoveNode { static void mutate(Machine& machine); }; +struct AdjustNode { static void mutate(Machine& machine); }; struct AddEdge { static void mutate(Machine& machine); }; struct RemoveEdge { static void mutate(Machine& machine); }; struct AdjustEdge { static void mutate(Machine& machine); }; diff --git a/src/engine/machina/Node.hpp b/src/engine/machina/Node.hpp index a916eb6..5926a50 100644 --- a/src/engine/machina/Node.hpp +++ b/src/engine/machina/Node.hpp @@ -56,9 +56,10 @@ public: void enter(SharedPtr<Raul::MIDISink> driver, BeatTime time); void exit(SharedPtr<Raul::MIDISink> driver, BeatTime time); - void add_outgoing_edge(SharedPtr<Edge> edge); - void remove_outgoing_edge(SharedPtr<Edge> edge); + void add_edge(SharedPtr<Edge> edge); + void remove_edge(SharedPtr<Edge> edge); void remove_edges_to(SharedPtr<Node> node); + bool connected_to(SharedPtr<Node> node); void write_state(Redland::Model& model); |