aboutsummaryrefslogtreecommitdiffstats
path: root/src/engine/SMFDriver.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/SMFDriver.cpp')
-rw-r--r--src/engine/SMFDriver.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/engine/SMFDriver.cpp b/src/engine/SMFDriver.cpp
index 000ce0e..757615b 100644
--- a/src/engine/SMFDriver.cpp
+++ b/src/engine/SMFDriver.cpp
@@ -22,6 +22,7 @@
#include "raul/SharedPtr.hpp"
+#include "machina/Context.hpp"
#include "machina/Machine.hpp"
#include "Edge.hpp"
@@ -51,7 +52,7 @@ SharedPtr<Machine>
SMFDriver::learn(const string& filename, unsigned track, double q, Raul::TimeDuration max_duration)
{
//assert(q.unit() == max_duration.unit());
- SharedPtr<Machine> m(new Machine(_forge, max_duration.unit()));
+ SharedPtr<Machine> m(new Machine(max_duration.unit()));
SharedPtr<MachineBuilder> builder = SharedPtr<MachineBuilder>(new MachineBuilder(m, q, false));
SMFReader reader;
@@ -80,7 +81,7 @@ SMFDriver::learn(const string& filename, unsigned track, double q, Raul::TimeDur
SharedPtr<Machine>
SMFDriver::learn(const string& filename, double q, Raul::TimeStamp max_duration)
{
- SharedPtr<Machine> m(new Machine(_forge, max_duration.unit()));
+ SharedPtr<Machine> m(new Machine(max_duration.unit()));
SharedPtr<MachineBuilder> builder = SharedPtr<MachineBuilder>(new MachineBuilder(m, q, false));
SMFReader reader;
@@ -140,10 +141,10 @@ void
SMFDriver::run(SharedPtr<Machine> machine, Raul::TimeStamp max_time)
{
// FIXME: unit kludge (tempo only)
- Raul::TimeSlice time(machine->time().unit().ppt(), _writer->unit().ppt(), 120.0);
- time.set_slice(TimeStamp(max_time.unit(), 0, 0), time.beats_to_ticks(max_time));
+ Context context(_forge, machine->time().unit().ppt(), _writer->unit().ppt(), 120.0);
+ context.time().set_slice(TimeStamp(max_time.unit(), 0, 0), context.time().beats_to_ticks(max_time));
machine->set_sink(shared_from_this());
- machine->run(time, SharedPtr<UpdateBuffer>());
+ machine->run(context, SharedPtr<UpdateBuffer>());
}
} // namespace Machina