summaryrefslogtreecommitdiffstats
path: root/src/libs/engine/Connection.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-09-21 00:46:21 +0000
committerDavid Robillard <d@drobilla.net>2007-09-21 00:46:21 +0000
commit2fd281a285e4b0bc31e0a0dc6f970359440612c8 (patch)
treeb4537d5196d13608cacb32f4c96bdb24ff180b3d /src/libs/engine/Connection.hpp
parentc4faafc0d3b9c68d41706ad40edde1ecfb7f4338 (diff)
downloadingen-2fd281a285e4b0bc31e0a0dc6f970359440612c8.tar.gz
ingen-2fd281a285e4b0bc31e0a0dc6f970359440612c8.tar.bz2
ingen-2fd281a285e4b0bc31e0a0dc6f970359440612c8.zip
Somewhat functional dynamic polyphony (LV2 and internal nodes only).
git-svn-id: http://svn.drobilla.net/lad/ingen@744 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/engine/Connection.hpp')
-rw-r--r--src/libs/engine/Connection.hpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/libs/engine/Connection.hpp b/src/libs/engine/Connection.hpp
index 816efe6c..44cbcccb 100644
--- a/src/libs/engine/Connection.hpp
+++ b/src/libs/engine/Connection.hpp
@@ -64,6 +64,8 @@ public:
inline Buffer* buffer(size_t voice) const;
void set_buffer_size(size_t size);
+ void prepare_poly(uint32_t poly);
+ void apply_poly(Raul::Maid& maid, uint32_t poly);
DataType type() const { return _src_port->type(); }
@@ -80,12 +82,13 @@ protected:
inline Buffer*
Connection::buffer(size_t voice) const
{
- if (_must_mix)
+ if (_must_mix) {
return _local_buffer;
- else if (_src_port->poly() == 1)
+ } else if ( ! _src_port->polyphonic()) {
return _src_port->buffer(0);
- else
+ } else {
return _src_port->buffer(voice);
+ }
}