diff options
Diffstat (limited to 'src/engine/machina/Machine.hpp')
-rw-r--r-- | src/engine/machina/Machine.hpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/engine/machina/Machine.hpp b/src/engine/machina/Machine.hpp index b9ad4c1..d65b670 100644 --- a/src/engine/machina/Machine.hpp +++ b/src/engine/machina/Machine.hpp @@ -21,7 +21,7 @@ #include <vector> #include <boost/utility.hpp> -#include "raul/List.hpp" +#include "raul/Atom.hpp" #include "raul/Maid.hpp" #include "raul/RingBuffer.hpp" #include "raul/SharedPtr.hpp" @@ -42,7 +42,7 @@ class LearnRequest; */ class Machine : public Stateful { public: - Machine(TimeUnit unit); + Machine(Raul::Forge& forge, TimeUnit unit); Machine(const Machine& copy); Machine& operator=(const Machine& other); @@ -74,30 +74,31 @@ public: SharedPtr<LearnRequest> pending_learn() { return _pending_learn; } void clear_pending_learn() { _pending_learn.reset(); } - typedef Raul::List< SharedPtr<Node> > Nodes; + typedef std::list< SharedPtr<Node> > Nodes; Nodes& nodes() { return _nodes; } const Nodes& nodes() const { return _nodes; } SharedPtr<Node> random_node(); SharedPtr<Edge> random_edge(); - void set_sink(SharedPtr<Raul::MIDISink> sink); + void set_sink(SharedPtr<MIDISink> sink); private: // Audio context SharedPtr<Node> earliest_node() const; - bool enter_node(SharedPtr<Raul::MIDISink> sink, SharedPtr<Node> node, SharedPtr<UpdateBuffer> updates); - void exit_node(SharedPtr<Raul::MIDISink> sink, SharedPtr<Node>, SharedPtr<UpdateBuffer> updates); + bool enter_node(SharedPtr<MIDISink> sink, SharedPtr<Node> node, SharedPtr<UpdateBuffer> updates); + void exit_node(SharedPtr<MIDISink> sink, SharedPtr<Node>, SharedPtr<UpdateBuffer> updates); static const size_t MAX_ACTIVE_NODES = 128; std::vector< SharedPtr<Node> > _active_nodes; + Raul::Forge& _forge; bool _is_activated; bool _is_finished; Raul::TimeStamp _time; SharedPtr<LearnRequest> _pending_learn; - WeakPtr<Raul::MIDISink> _sink; + WeakPtr<MIDISink> _sink; Nodes _nodes; }; |