diff options
Diffstat (limited to 'src/engine/SMFDriver.cpp')
-rw-r--r-- | src/engine/SMFDriver.cpp | 11 |
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 |