summaryrefslogtreecommitdiffstats
path: root/src/libs/client/NodeModel.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2006-09-11 11:10:35 +0000
committerDavid Robillard <d@drobilla.net>2006-09-11 11:10:35 +0000
commitb15864870d34a1188eda93ad215734275037278e (patch)
tree224a1669a29091ea4198425d4a002e448cde8b30 /src/libs/client/NodeModel.h
parent22bf43352ddfc48452d776f10ad4d12161255049 (diff)
downloadingen-b15864870d34a1188eda93ad215734275037278e.tar.gz
ingen-b15864870d34a1188eda93ad215734275037278e.tar.bz2
ingen-b15864870d34a1188eda93ad215734275037278e.zip
Switched homebrew CountedPtr to boost::shared_ptr.
Factories for patch windows, controller. Robustness updated in many places. Tons of cleanups, rewrites, bugfixes, etc. git-svn-id: http://svn.drobilla.net/lad/ingen@128 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/client/NodeModel.h')
-rw-r--r--src/libs/client/NodeModel.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/libs/client/NodeModel.h b/src/libs/client/NodeModel.h
index 2a8b6973..f0bede51 100644
--- a/src/libs/client/NodeModel.h
+++ b/src/libs/client/NodeModel.h
@@ -44,9 +44,12 @@ class PluginModel;
class NodeModel : public ObjectModel
{
public:
+ NodeModel(const string& plugin_uri, const Path& path);
NodeModel(CountedPtr<PluginModel> plugin, const Path& path);
virtual ~NodeModel();
+ void add_child(CountedPtr<ObjectModel> c);
+
CountedPtr<PortModel> get_port(const string& port_name);
void add_port(CountedPtr<PortModel> pm);
void remove_port(const string& port_path);
@@ -57,6 +60,8 @@ public:
void add_program(int bank, int program, const string& name);
void remove_program(int bank, int program);
+ string plugin_uri() { return m_plugin_uri; }
+
CountedPtr<PluginModel> plugin() const { return m_plugin; }
//void plugin(CountedPtr<PluginModel> p) { m_plugin = p; }
@@ -79,6 +84,7 @@ protected:
bool m_polyphonic;
PortModelList m_ports; ///< List of ports (instead of map to preserve order)
+ string m_plugin_uri; ///< Plugin URI (not redundant if PluginModel unknown
CountedPtr<PluginModel> m_plugin; ///< The plugin this node is an instance of
float m_x; ///< Just metadata, here as an optimization for GUI
float m_y; ///< Just metadata, here as an optimization for GUI
@@ -91,7 +97,7 @@ private:
};
-typedef map<string, CountedPtr<NodeModel> > NodeModelMap;
+typedef map<string, CountedPtr<NodeModel> > NodeModelMap;
} // namespace Client