summaryrefslogtreecommitdiffstats
path: root/src/engine/ConnectionImpl.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2008-11-22 06:54:01 +0000
committerDavid Robillard <d@drobilla.net>2008-11-22 06:54:01 +0000
commitfc397802d408441ce354c5b0328adc93f617aca5 (patch)
tree20c5e837ce7153d4989e4a290527d131353b727a /src/engine/ConnectionImpl.cpp
parent91575b926a29fab3d8cfab439b99198be032a45f (diff)
downloadingen-fc397802d408441ce354c5b0328adc93f617aca5.tar.gz
ingen-fc397802d408441ce354c5b0328adc93f617aca5.tar.bz2
ingen-fc397802d408441ce354c5b0328adc93f617aca5.zip
Fix event loss for outputs connected directly to several inputs (fix ticket #231).
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1763 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/engine/ConnectionImpl.cpp')
-rw-r--r--src/engine/ConnectionImpl.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/engine/ConnectionImpl.cpp b/src/engine/ConnectionImpl.cpp
index 79fb59e1..46e7fcc6 100644
--- a/src/engine/ConnectionImpl.cpp
+++ b/src/engine/ConnectionImpl.cpp
@@ -233,8 +233,10 @@ ConnectionImpl::process(ProcessContext& context)
if (copy_size < dst_buf->size())
dst_buf->set_block(src_buf->value_at(copy_size - 1), copy_size, dst_buf->size() - 1);
}
+ } else if (_mode == DIRECT) {
+ for (uint32_t j=0; j < src_port()->poly(); ++j)
+ src_port()->buffer(j)->prepare_read(context.start(), context.nframes());
}
-
}