summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/progs/ingen/main.cpp24
1 files changed, 14 insertions, 10 deletions
diff --git a/src/progs/ingen/main.cpp b/src/progs/ingen/main.cpp
index 09deffcc..354cfcd6 100644
--- a/src/progs/ingen/main.cpp
+++ b/src/progs/ingen/main.cpp
@@ -89,7 +89,7 @@ main(int argc, char** argv)
if (engine_module->get_symbol("new_engine", (void*&)new_engine)) {
engine = SharedPtr<Engine>(new_engine());
//engine->start_jack_driver();
- //engine->launch_osc_interface(args.engine_port_arg);
+ //engine->start_osc_driver(args.engine_port_arg);
} else {
engine_module.reset();
}
@@ -103,12 +103,6 @@ main(int argc, char** argv)
}
}
-
- if (engine) {
- engine_interface = engine->new_queued_interface();
- engine->start_jack_driver();
- engine->activate();
- }
/* Connect to remote engine */
@@ -128,11 +122,18 @@ main(int argc, char** argv)
return -1;
}
}
+
+
+ if (engine) {
+ engine->start_jack_driver();
+ engine->start_osc_driver(args.engine_port_arg);
+ engine->activate();
+ }
/* Load a patch */
if (args.load_given && engine_interface) {
-
+
Raul::RDF::World rdf_world;
rdf_world.add_prefix("xsd", "http://www.w3.org/2001/XMLSchema#");
rdf_world.add_prefix("ingen", "http://drobilla.net/ns/ingen#");
@@ -192,16 +193,19 @@ main(int argc, char** argv)
}
- /* Didn't run the GUI, do our own main thing. */
+ /* Didn't run the GUI, listen to OSC and do our own main thing. */
if (engine && !ran_gui) {
signal(SIGINT, catch_int);
signal(SIGTERM, catch_int);
- engine->start_osc_driver(args.engine_port_arg);
+ //engine->start_osc_driver(args.engine_port_arg);
+ engine->activate();
engine->main();
+ cout << "Exiting." << endl;
+
engine.reset();
}