From 971c02f3707c4872a2da9a3b946b6508290c5ab4 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 7 Oct 2007 23:09:48 +0000 Subject: Added shared abstract interface for ports. Moved DataType to shared. Switch data type URIs to match LV2 type semantics (e.g. separate audio/control types). git-svn-id: http://svn.drobilla.net/lad/ingen@840 a436a847-0d15-0410-975c-d299462d15a1 --- src/libs/engine/NodeImpl.hpp | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'src/libs/engine/NodeImpl.hpp') diff --git a/src/libs/engine/NodeImpl.hpp b/src/libs/engine/NodeImpl.hpp index 70a09c33..f139cde0 100644 --- a/src/libs/engine/NodeImpl.hpp +++ b/src/libs/engine/NodeImpl.hpp @@ -28,10 +28,14 @@ namespace Raul { template class List; class Maid; } namespace Ingen { +namespace Shared { class Plugin; class Node; class Port; } + +using namespace Shared; + class Buffer; class PluginImpl; class Patch; -class Port; +class PortImpl; /** A Node (or "module") in a Patch (which is also a Node). @@ -118,10 +122,10 @@ public: virtual void set_port_buffer(uint32_t voice, uint32_t port_num, Buffer* buf) = 0; - // FIXME: Only used by client senders. Remove? - virtual const Raul::Array& ports() const = 0; - virtual uint32_t num_ports() const = 0; + + virtual Port* port(uint32_t index) const = 0; + virtual PortImpl* port_impl(uint32_t index) const = 0; /** Used by the process order finding algorithm (ie during connections) */ virtual bool traversed() const = 0; @@ -145,7 +149,12 @@ public: /** Information about the Plugin this Node is an instance of. * Not the best name - not all nodes come from plugins (ie Patch) */ - virtual const PluginImpl* plugin() const = 0; + virtual const PluginImpl* plugin_impl() const = 0; + + /** Information about the Plugin this Node is an instance of. + * Not the best name - not all nodes come from plugins (ie Patch) + */ + virtual const Shared::Plugin* plugin() const = 0; virtual void set_buffer_size(size_t size) = 0; }; -- cgit v1.2.1