summaryrefslogtreecommitdiffstats
path: root/src/shared/Builder.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/shared/Builder.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/shared/Builder.cpp')
-rw-r--r--src/shared/Builder.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/shared/Builder.cpp b/src/shared/Builder.cpp
index 0cc4e980..72e90ad1 100644
--- a/src/shared/Builder.cpp
+++ b/src/shared/Builder.cpp
@@ -32,8 +32,9 @@ namespace Ingen {
namespace Shared {
-Builder::Builder(CommonInterface& interface)
- : _interface(interface)
+Builder::Builder(SharedPtr<Shared::LV2URIMap> uris, CommonInterface& interface)
+ : _uris(uris)
+ , _interface(interface)
{
}
@@ -41,7 +42,7 @@ Builder::Builder(CommonInterface& interface)
void
Builder::build(SharedPtr<const GraphObject> object)
{
- const LV2URIMap& uris = Shared::LV2URIMap::instance();
+ const LV2URIMap& uris = *_uris.get();
SharedPtr<const Patch> patch = PtrCast<const Patch>(object);
if (patch) {
if (!object->path().is_root()) {