From 06548d893646764cbda3bef2f440b953b1716ae5 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 24 Jun 2007 17:05:42 +0000 Subject: Fix running GUI with internal engine and direct interface (i.e. no OSC) with ingen -eg. git-svn-id: http://svn.drobilla.net/lad/ingen@543 a436a847-0d15-0410-975c-d299462d15a1 --- src/progs/ingen/main.cpp | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) (limited to 'src/progs/ingen/main.cpp') diff --git a/src/progs/ingen/main.cpp b/src/progs/ingen/main.cpp index 365230bb..46e0a1c3 100644 --- a/src/progs/ingen/main.cpp +++ b/src/progs/ingen/main.cpp @@ -102,11 +102,12 @@ main(int argc, char** argv) }*/ } else { cerr << "Unable to load engine module, engine not loaded." << endl; - cerr << "Try running ingen_dev or setting INGEN_MODULE_PATH." << endl; + cerr << "Try using src/set_dev_environment.sh, or setting INGEN_MODULE_PATH." << endl; } } + bool use_osc = false; /* Connect to remote engine */ if (args.connect_given || (args.load_given && !engine_interface)) { @@ -120,20 +121,25 @@ main(int argc, char** argv) if (client_module && found) { engine_interface = new_osc_interface(args.connect_arg); + use_osc = true; } else { cerr << "Unable to load ingen_client module, aborting." << endl; + cerr << "Try using src/set_dev_environment.sh, or setting INGEN_MODULE_PATH." << endl; return -1; } } + /* Load queued (direct in-process) engine interface */ + if (engine && !engine_interface && (args.load_given || args.gui_given)) + engine_interface = engine->new_queued_interface(); - if (engine) { + if (engine && engine_interface) { engine->start_jack_driver(); - engine->start_osc_driver(args.engine_port_arg); + if (use_osc) + engine->start_osc_driver(args.engine_port_arg); engine->activate(); } - /* Load a patch */ if (args.load_given && engine_interface) { @@ -174,6 +180,7 @@ main(int argc, char** argv) } else { cerr << "Unable to load serialisation module, aborting." << endl; + cerr << "Try using src/set_dev_environment.sh, or setting INGEN_MODULE_PATH." << endl; return -1; } } @@ -191,7 +198,7 @@ main(int argc, char** argv) run(argc, argv, engine, engine_interface); } else { cerr << "Unable to find GUI module, GUI not loaded." << endl; - cerr << "Try running ingen_dev or setting INGEN_MODULE_PATH." << endl; + cerr << "Try using src/set_dev_environment.sh, or setting INGEN_MODULE_PATH." << endl; } } @@ -199,10 +206,12 @@ main(int argc, char** argv) /* Didn't run the GUI, listen to OSC and do our own main thing. */ if (engine && !ran_gui) { + engine->start_jack_driver(); + 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(); -- cgit v1.2.1