From 437ef13d0f2bd712e1aece745a88917317b94335 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 4 May 2008 03:42:35 +0000 Subject: Use global RDF world when loading a patch (fix crashes when using ingen -el). git-svn-id: http://svn.drobilla.net/lad/ingen@1198 a436a847-0d15-0410-975c-d299462d15a1 --- src/progs/ingen/main.cpp | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) (limited to 'src') diff --git a/src/progs/ingen/main.cpp b/src/progs/ingen/main.cpp index 014c24c9..57380250 100644 --- a/src/progs/ingen/main.cpp +++ b/src/progs/ingen/main.cpp @@ -78,6 +78,7 @@ main(int argc, char** argv) SharedPtr client_module; SharedPtr gui_module; SharedPtr bindings_module; + SharedPtr serialisation_module; SharedPtr engine_interface; @@ -85,6 +86,14 @@ main(int argc, char** argv) Ingen::Shared::World* world = Ingen::Shared::get_world(); + /* Set up RDF world */ + world->rdf_world->add_prefix("xsd", "http://www.w3.org/2001/XMLSchema#"); + world->rdf_world->add_prefix("ingen", "http://drobilla.net/ns/ingen#"); + world->rdf_world->add_prefix("ingenuity", "http://drobilla.net/ns/ingenuity#"); + world->rdf_world->add_prefix("lv2", "http://lv2plug.in/ns/lv2core#"); + world->rdf_world->add_prefix("rdfs", "http://www.w3.org/2000/01/rdf-schema#"); + world->rdf_world->add_prefix("doap", "http://usefulinc.com/ns/doap#"); + /* Run engine */ if (args.engine_flag) { @@ -147,21 +156,12 @@ main(int argc, char** argv) /* Load a patch */ if (args.load_given && engine_interface) { - Redland::World rdf_world; - rdf_world.add_prefix("xsd", "http://www.w3.org/2001/XMLSchema#"); - rdf_world.add_prefix("ingen", "http://drobilla.net/ns/ingen#"); - rdf_world.add_prefix("ingenuity", "http://drobilla.net/ns/ingenuity#"); - rdf_world.add_prefix("lv2", "http://lv2plug.in/ns/lv2core#"); - rdf_world.add_prefix("rdfs", "http://www.w3.org/2000/01/rdf-schema#"); - rdf_world.add_prefix("doap", "http://usefulinc.com/ns/doap#"); - boost::optional parent_path; if (args.path_given) parent_path = args.path_arg; bool found = false; - SharedPtr serialisation_module - = Ingen::Shared::load_module("ingen_serialisation"); + serialisation_module = Ingen::Shared::load_module("ingen_serialisation"); Serialisation::Loader* (*new_loader)() = NULL; @@ -181,7 +181,7 @@ main(int argc, char** argv) Glib::get_current_dir(), args.load_arg)); } - loader->load(engine_interface, &rdf_world, uri, parent_path, ""); + loader->load(engine_interface, world->rdf_world, uri, parent_path, ""); } else { cerr << "Unable to load serialisation module, aborting." << endl; @@ -252,9 +252,10 @@ main(int argc, char** argv) engine.reset(); } - engine_module.reset(); client_module.reset(); + serialisation_module.reset(); gui_module.reset(); + engine_module.reset(); Ingen::Shared::destroy_world(); -- cgit v1.2.1