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/serialisation/Parser.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/serialisation/Parser.hpp')
-rw-r--r-- | src/serialisation/Parser.hpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/serialisation/Parser.hpp b/src/serialisation/Parser.hpp index cd96bd0b..aeda022f 100644 --- a/src/serialisation/Parser.hpp +++ b/src/serialisation/Parser.hpp @@ -19,6 +19,7 @@ #define INGEN_SERIALISATION_LOADER_HPP #include <string> +#include <list> #include <glibmm/ustring.h> #include <boost/optional.hpp> #include "interface/GraphObject.hpp" @@ -69,6 +70,18 @@ public: boost::optional<Raul::Symbol> symbol=boost::optional<Raul::Symbol>(), boost::optional<Properties> data=boost::optional<Properties>()); + struct PatchRecord { + PatchRecord(const Raul::URI& u, const Glib::ustring& f) : uri(u), filename(f) {} + const Raul::URI uri; + const Glib::ustring filename; + }; + + typedef std::list<PatchRecord> PatchRecords; + + virtual PatchRecords find_patches( + Ingen::Shared::World* world, + const Glib::ustring& manifest_uri); + private: boost::optional<Raul::Path> parse( Ingen::Shared::World* world, |