summaryrefslogtreecommitdiffstats
path: root/src/engine/InputPort.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2009-11-16 00:30:35 +0000
committerDavid Robillard <d@drobilla.net>2009-11-16 00:30:35 +0000
commit3d89115a67a9c947a28539ffdd2399808a53279b (patch)
tree826b900de3979eed9c31aae0d3ac560d39b53460 /src/engine/InputPort.hpp
parent597fa9212f27d2448c0cdd20fbf616928c662cc1 (diff)
downloadingen-3d89115a67a9c947a28539ffdd2399808a53279b.tar.gz
ingen-3d89115a67a9c947a28539ffdd2399808a53279b.tar.bz2
ingen-3d89115a67a9c947a28539ffdd2399808a53279b.zip
Rework objects extension to have "value ports" and "message ports".
Make audio and control buffers in ingen actually object buffers (towards interop). Overhaul the hell out of ingen buffer and mixing stuff. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2266 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/engine/InputPort.hpp')
-rw-r--r--src/engine/InputPort.hpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/engine/InputPort.hpp b/src/engine/InputPort.hpp
index 81702b34..971a8747 100644
--- a/src/engine/InputPort.hpp
+++ b/src/engine/InputPort.hpp
@@ -46,7 +46,8 @@ class NodeImpl;
class InputPort : virtual public PortImpl
{
public:
- InputPort(NodeImpl* parent,
+ InputPort(BufferFactory& bufs,
+ NodeImpl* parent,
const std::string& name,
uint32_t index,
uint32_t poly,
@@ -61,20 +62,20 @@ public:
void add_connection(Connections::Node* c);
Connections::Node* remove_connection(const OutputPort* src_port);
- bool prepare_poly(uint32_t poly);
+ void set_buffer_size(BufferFactory& bufs, size_t size);
+ bool prepare_poly(BufferFactory& bufs, uint32_t poly);
bool apply_poly(Raul::Maid& maid, uint32_t poly);
void pre_process(Context& context);
void post_process(Context& context);
- bool is_connected() const { return (_connections.size() > 0); }
+ size_t num_connections() const { return _connections.size(); }
bool is_input() const { return true; }
bool is_output() const { return false; }
- virtual void set_buffer_size(size_t size);
-
protected:
+ void connect_buffers();
bool can_direct() const;
Connections _connections;