diff options
author | David Robillard <d@drobilla.net> | 2010-03-06 10:23:19 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2010-03-06 10:23:19 +0000 |
commit | 059f20c9666234f2be01498ee04f1e7ee795ba8f (patch) | |
tree | ef0d53073d53012aeaa7d084fccf477b166c0684 /src/gui/ThreadedLoader.cpp | |
parent | 085a451dfec54126be1b9346899c81d82e6eb58e (diff) | |
download | ingen-059f20c9666234f2be01498ee04f1e7ee795ba8f.tar.gz ingen-059f20c9666234f2be01498ee04f1e7ee795ba8f.tar.bz2 ingen-059f20c9666234f2be01498ee04f1e7ee795ba8f.zip |
Save Ingen patches as working standard LV2 plugin bundles.
This allows you to create an Ingen patch in Ingen running as a Jack client,
save it, then load that patch as an LV2 plugin in any LV2 compliant host.
Eliminate (hopefully) all static data in the engine (for multiple instantiations in a single process).
More API/ABI stable interface for Ingen::Shared::World.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2533 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/gui/ThreadedLoader.cpp')
-rw-r--r-- | src/gui/ThreadedLoader.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/gui/ThreadedLoader.cpp b/src/gui/ThreadedLoader.cpp index 9b991555..eae032f4 100644 --- a/src/gui/ThreadedLoader.cpp +++ b/src/gui/ThreadedLoader.cpp @@ -31,9 +31,9 @@ namespace Ingen { namespace GUI { -ThreadedLoader::ThreadedLoader(SharedPtr<EngineInterface> engine) +ThreadedLoader::ThreadedLoader(SharedPtr<Shared::LV2URIMap> uris, SharedPtr<EngineInterface> engine) : _engine(engine) - , _deprecated_loader(engine) + , _deprecated_loader(uris, engine) { set_name("Loader"); @@ -47,12 +47,12 @@ ThreadedLoader::ThreadedLoader(SharedPtr<EngineInterface> engine) SharedPtr<Parser> ThreadedLoader::parser() { - Ingen::Shared::World* world = ingen_get_world(); + Ingen::Shared::World* world = App::instance().world(); - if (!world->parser) + if (!world->parser()) world->load("ingen_serialisation"); - return world->parser; + return world->parser(); } @@ -79,7 +79,7 @@ ThreadedLoader::load_patch(bool merge, { _mutex.lock(); - Ingen::Shared::World* world = ingen_get_world(); + Ingen::Shared::World* world = App::instance().world(); Glib::ustring engine_base = ""; if (engine_parent) { @@ -101,9 +101,9 @@ ThreadedLoader::load_patch(bool merge, false))); } else { _events.push_back(sigc::hide_return(sigc::bind( - sigc::mem_fun(world->parser.get(), &Ingen::Serialisation::Parser::parse_document), + sigc::mem_fun(world->parser().get(), &Ingen::Serialisation::Parser::parse_document), App::instance().world(), - App::instance().world()->engine.get(), + App::instance().world()->engine().get(), document_uri, data_path, engine_parent, |