diff options
author | David Robillard <d@drobilla.net> | 2008-11-22 06:54:01 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2008-11-22 06:54:01 +0000 |
commit | fc397802d408441ce354c5b0328adc93f617aca5 (patch) | |
tree | 20c5e837ce7153d4989e4a290527d131353b727a /src/engine/ConnectionImpl.cpp | |
parent | 91575b926a29fab3d8cfab439b99198be032a45f (diff) | |
download | ingen-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.cpp | 4 |
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()); } - } |