summaryrefslogtreecommitdiffstats
path: root/src/client/ClientStore.hpp
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/client/ClientStore.hpp
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/client/ClientStore.hpp')
-rw-r--r--src/client/ClientStore.hpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/client/ClientStore.hpp b/src/client/ClientStore.hpp
index 35dabdcf..ac77e6ab 100644
--- a/src/client/ClientStore.hpp
+++ b/src/client/ClientStore.hpp
@@ -52,8 +52,9 @@ class ConnectionModel;
*/
class ClientStore : public Shared::Store, public Shared::CommonInterface, public sigc::trackable {
public:
- ClientStore(SharedPtr<Shared::EngineInterface> engine=SharedPtr<Shared::EngineInterface>(),
- SharedPtr<SigClientInterface> emitter=SharedPtr<SigClientInterface>());
+ ClientStore(SharedPtr<Shared::LV2URIMap> uris,
+ SharedPtr<Shared::EngineInterface> engine=SharedPtr<Shared::EngineInterface>(),
+ SharedPtr<SigClientInterface> emitter=SharedPtr<SigClientInterface>());
SharedPtr<PluginModel> plugin(const Raul::URI& uri);
SharedPtr<ObjectModel> object(const Raul::Path& path);
@@ -66,6 +67,8 @@ public:
SharedPtr<Plugins> plugins() { return _plugins; }
void set_plugins(SharedPtr<Plugins> p) { _plugins = p; }
+ Shared::LV2URIMap& uris() { return *_uris.get(); }
+
// CommonInterface
bool new_object(const Shared::GraphObject* object);
void put(const Raul::URI& path, const Shared::Resource::Properties& properties);
@@ -99,6 +102,7 @@ private:
bool attempt_connection(const Raul::Path& src_port_path, const Raul::Path& dst_port_path);
+ SharedPtr<Shared::LV2URIMap> _uris;
SharedPtr<Shared::EngineInterface> _engine;
SharedPtr<SigClientInterface> _emitter;