diff options
Diffstat (limited to 'src/engine/Engine.cpp')
-rw-r--r-- | src/engine/Engine.cpp | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/src/engine/Engine.cpp b/src/engine/Engine.cpp index 1a8c867..b103310 100644 --- a/src/engine/Engine.cpp +++ b/src/engine/Engine.cpp @@ -35,23 +35,23 @@ Engine::Engine(Raul::Forge& forge, , _rdf_world(rdf_world) , _loader(_forge, _rdf_world) , _forge(forge) -{ -} +{} SharedPtr<Driver> Engine::new_driver(Raul::Forge& forge, const std::string& name, SharedPtr<Machine> machine) { - #ifdef HAVE_JACK +#ifdef HAVE_JACK if (name == "jack") { JackDriver* driver = new JackDriver(forge, machine); driver->attach("machina"); return SharedPtr<Driver>(driver); } - #endif - if (name == "smf") +#endif + if (name == "smf") { return SharedPtr<Driver>(new SMFDriver(forge, machine->time().unit())); + } std::cerr << "Error: Unknown driver type `" << name << "'" << std::endl; return SharedPtr<Driver>(); @@ -80,7 +80,8 @@ Engine::load_machine(const Glib::ustring& uri) * Safe to call while engine is processing. */ SharedPtr<Machine> -Engine::load_machine_midi(const Glib::ustring& uri, double q, Raul::TimeDuration dur) +Engine::load_machine_midi(const Glib::ustring& uri, double q, + Raul::TimeDuration dur) { SharedPtr<SMFDriver> file_driver(new SMFDriver(_forge, dur.unit())); SharedPtr<Machine> machine = file_driver->learn(uri, q, dur); @@ -111,19 +112,22 @@ void Engine::export_midi(const Glib::ustring& filename, Raul::TimeDuration dur) { SharedPtr<Machine> machine = _driver->machine(); - SharedPtr<Machina::SMFDriver> file_driver(new Machina::SMFDriver(_forge, dur.unit())); + SharedPtr<Machina::SMFDriver> file_driver( + new Machina::SMFDriver(_forge, dur.unit())); const bool activated = _driver->is_activated(); - if (activated) + if (activated) { _driver->deactivate(); // FIXME: disable instead + } file_driver->writer()->start(filename, TimeStamp(dur.unit(), 0.0)); file_driver->run(machine, dur); machine->reset(NULL, machine->time()); file_driver->writer()->finish(); - if (activated) + if (activated) { _driver->activate(); + } } void @@ -139,4 +143,3 @@ Engine::set_quantization(double q) } } // namespace Machina - |