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/shared/ResourceImpl.hpp | |
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/shared/ResourceImpl.hpp')
-rw-r--r-- | src/shared/ResourceImpl.hpp | 11 |
1 files changed, 10 insertions, 1 deletions
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 <map> #include <sigc++/sigc++.h> #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; |