diff options
Diffstat (limited to 'src/libs/client/NodeModel.h')
-rw-r--r-- | src/libs/client/NodeModel.h | 8 |
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 |