diff options
author | David Robillard <d@drobilla.net> | 2007-10-07 23:09:48 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2007-10-07 23:09:48 +0000 |
commit | 971c02f3707c4872a2da9a3b946b6508290c5ab4 (patch) | |
tree | 1dd28dabb27f75a1c5fc79bb583e50c8ec98974f /src/libs/engine/NodeImpl.hpp | |
parent | 288a04a65de1ff86ff0ca6e02e611f83e881d159 (diff) | |
download | ingen-971c02f3707c4872a2da9a3b946b6508290c5ab4.tar.gz ingen-971c02f3707c4872a2da9a3b946b6508290c5ab4.tar.bz2 ingen-971c02f3707c4872a2da9a3b946b6508290c5ab4.zip |
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
Diffstat (limited to 'src/libs/engine/NodeImpl.hpp')
-rw-r--r-- | src/libs/engine/NodeImpl.hpp | 19 |
1 files changed, 14 insertions, 5 deletions
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 <typename T> 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<Port*>& 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; }; |