aboutsummaryrefslogtreecommitdiffstats
path: root/src/engine/machina/Machine.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/machina/Machine.hpp')
-rw-r--r--src/engine/machina/Machine.hpp15
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;
};