summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2015-10-29 22:30:11 +0000
committerDavid Robillard <d@drobilla.net>2015-10-29 22:30:11 +0000
commite203132d8439033be91d2cc9c4ec71d6632eab10 (patch)
treef2408b4d6db1bc88b08a64df8877c682e36c544f
parente657952bc0e3f65e126f6fdeac0dd8a41b476f8b (diff)
downloadingen-e203132d8439033be91d2cc9c4ec71d6632eab10.tar.gz
ingen-e203132d8439033be91d2cc9c4ec71d6632eab10.tar.bz2
ingen-e203132d8439033be91d2cc9c4ec71d6632eab10.zip
Fix bypass where mixing is required
Fixes #1058 git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5804 a436a847-0d15-0410-975c-d299462d15a1
-rw-r--r--src/server/BlockImpl.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/server/BlockImpl.cpp b/src/server/BlockImpl.cpp
index 103747fe..bf4ef0f8 100644
--- a/src/server/BlockImpl.cpp
+++ b/src/server/BlockImpl.cpp
@@ -194,6 +194,12 @@ BlockImpl::process(ProcessContext& context)
pre_process(context);
if (!_enabled) {
+ // Prepare port buffers for reading, converting/mixing if necessary
+ for (uint32_t i = 0; _ports && i < _ports->size(); ++i) {
+ _ports->at(i)->connect_buffers();
+ _ports->at(i)->pre_run(context);
+ }
+
// Dumb bypass
for (PortType t : { PortType::AUDIO, PortType::CV, PortType::ATOM }) {
for (uint32_t i = 0;; ++i) {