summaryrefslogtreecommitdiffstats
path: root/src/engine/ConnectionImpl.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2008-10-13 01:59:53 +0000
committerDavid Robillard <d@drobilla.net>2008-10-13 01:59:53 +0000
commitb2d51e16571190becea1476080cff1b0a258a4f6 (patch)
tree14fc29ec1408a43b3a9688cc09aec8733f3d3d54 /src/engine/ConnectionImpl.hpp
parentef8f39fedbd51f414f19d1282b21ea4de46cf449 (diff)
downloadingen-b2d51e16571190becea1476080cff1b0a258a4f6.tar.gz
ingen-b2d51e16571190becea1476080cff1b0a258a4f6.tar.bz2
ingen-b2d51e16571190becea1476080cff1b0a258a4f6.zip
Fix various problems with subpatch connecting/disconnecting (and probably introduce new ones).
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1668 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/engine/ConnectionImpl.hpp')
-rw-r--r--src/engine/ConnectionImpl.hpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/engine/ConnectionImpl.hpp b/src/engine/ConnectionImpl.hpp
index b3d7cf4b..a5a61c85 100644
--- a/src/engine/ConnectionImpl.hpp
+++ b/src/engine/ConnectionImpl.hpp
@@ -65,7 +65,7 @@ public:
* buffer, and will return accordingly (ie the same buffer for every voice
* in a mono->poly connection).
*/
- inline Buffer* buffer(size_t voice) const;
+ inline Buffer* buffer(uint32_t voice) const;
inline size_t buffer_size() const { return _buffer_size; }
@@ -73,6 +73,7 @@ public:
void prepare_poly(uint32_t poly);
void apply_poly(Raul::Maid& maid, uint32_t poly);
+ bool must_copy() const;
bool must_mix() const;
bool must_extend() const;
@@ -82,7 +83,7 @@ public:
DataType type() const { return _src_port->type(); }
protected:
- enum { DIRECT, MIX, EXTEND } _mode;
+ enum { DIRECT, MIX, COPY, EXTEND } _mode;
void set_mode();
PortImpl* const _src_port;
@@ -94,7 +95,7 @@ protected:
inline Buffer*
-ConnectionImpl::buffer(size_t voice) const
+ConnectionImpl::buffer(uint32_t voice) const
{
if (_mode == MIX) {
return _local_buffer;