summaryrefslogtreecommitdiffstats
path: root/src/client/NodeModel.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/NodeModel.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/NodeModel.hpp')
-rw-r--r--src/client/NodeModel.hpp19
1 files changed, 11 insertions, 8 deletions
diff --git a/src/client/NodeModel.hpp b/src/client/NodeModel.hpp
index c1eb91e7..d13caf88 100644
--- a/src/client/NodeModel.hpp
+++ b/src/client/NodeModel.hpp
@@ -32,6 +32,9 @@
namespace Raul { class Path; }
namespace Ingen {
+
+namespace Shared { class LV2URIMap; }
+
namespace Client {
class PluginModel;
@@ -71,8 +74,8 @@ public:
protected:
friend class ClientStore;
- NodeModel(const Raul::URI& plugin_uri, const Raul::Path& path);
- NodeModel(SharedPtr<PluginModel> plugin, const Raul::Path& path);
+ NodeModel(Shared::LV2URIMap& uris, const Raul::URI& plugin_uri, const Raul::Path& path);
+ NodeModel(Shared::LV2URIMap& uris, SharedPtr<PluginModel> plugin, const Raul::Path& path);
NodeModel(const Raul::Path& path);
void add_child(SharedPtr<ObjectModel> c);
@@ -86,14 +89,14 @@ protected:
virtual void clear();
- Ports _ports; ///< Vector of ports (not a Table to preserve order)
- Raul::URI _plugin_uri; ///< Plugin URI (if PluginModel is unknown)
- SharedPtr<PluginModel> _plugin; ///< The plugin this node is an instance of
+ Ports _ports; ///< Vector of ports (not a Table to preserve order)
+ Raul::URI _plugin_uri; ///< Plugin URI (if PluginModel is unknown)
+ SharedPtr<PluginModel> _plugin; ///< The plugin this node is an instance of
private:
- mutable uint32_t _num_values; ///< Size of _min_values and _max_values
- mutable float* _min_values; ///< Port min values (cached for LV2)
- mutable float* _max_values; ///< Port max values (cached for LV2)
+ mutable uint32_t _num_values; ///< Size of _min_values and _max_values
+ mutable float* _min_values; ///< Port min values (cached for LV2)
+ mutable float* _max_values; ///< Port max values (cached for LV2)
};