aboutsummaryrefslogtreecommitdiffstats
path: root/src/engine/Engine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/Engine.cpp')
-rw-r--r--src/engine/Engine.cpp23
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
-