summaryrefslogtreecommitdiffstats
path: root/src/gui/ThreadedLoader.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2010-03-06 10:23:19 +0000
committerDavid Robillard <d@drobilla.net>2010-03-06 10:23:19 +0000
commit059f20c9666234f2be01498ee04f1e7ee795ba8f (patch)
treeef0d53073d53012aeaa7d084fccf477b166c0684 /src/gui/ThreadedLoader.cpp
parent085a451dfec54126be1b9346899c81d82e6eb58e (diff)
downloadingen-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.cpp16
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,