summaryrefslogtreecommitdiffstats
path: root/src/engine/PatchImpl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/PatchImpl.cpp')
-rw-r--r--src/engine/PatchImpl.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/engine/PatchImpl.cpp b/src/engine/PatchImpl.cpp
index 165f708f..77408275 100644
--- a/src/engine/PatchImpl.cpp
+++ b/src/engine/PatchImpl.cpp
@@ -140,6 +140,10 @@ PatchImpl::apply_internal_poly(BufferFactory& bufs, Raul::Maid& maid, uint32_t p
}
}
+ const bool polyphonic = parent_patch() && (_internal_poly == parent_patch()->internal_poly());
+ for (List<PortImpl*>::iterator i = _output_ports.begin(); i != _output_ports.end(); ++i)
+ (*i)->setup_buffers(bufs, polyphonic ? poly : 1);
+
_internal_poly = poly;
return true;