From 059f20c9666234f2be01498ee04f1e7ee795ba8f Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sat, 6 Mar 2010 10:23:19 +0000 Subject: 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 --- src/shared/ResourceImpl.hpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/shared/ResourceImpl.hpp') diff --git a/src/shared/ResourceImpl.hpp b/src/shared/ResourceImpl.hpp index 8e827df8..7b77d669 100644 --- a/src/shared/ResourceImpl.hpp +++ b/src/shared/ResourceImpl.hpp @@ -21,16 +21,22 @@ #include #include #include "raul/URI.hpp" +#include "raul/SharedPtr.hpp" #include "interface/Resource.hpp" #include "interface/PortType.hpp" namespace Ingen { namespace Shared { +class LV2URIMap; + class ResourceImpl : virtual public Resource { public: - ResourceImpl(const Raul::URI& uri) : _uri(uri) {} + ResourceImpl(LV2URIMap& uris, const Raul::URI& uri) + : _uris(uris), _uri(uri) {} + + LV2URIMap& uris() const { return _uris; } virtual void set_uri(const Raul::URI& uri) { _uri = uri; } virtual const Raul::URI& uri() const { return _uri; } @@ -56,6 +62,7 @@ public: * output parameter set to true. Otherwise false is returned. */ static bool type( + const LV2URIMap& uris, const Properties& properties, bool& patch, bool& node, @@ -67,6 +74,8 @@ public: protected: Raul::Atom& set_property(const Raul::URI& uri, const Raul::Atom& value) const; + LV2URIMap& _uris; + private: Raul::URI _uri; mutable Properties _properties; -- cgit v1.2.1