summaryrefslogtreecommitdiffstats
path: root/src/server/GraphImpl.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2016-12-13 20:53:58 -0500
committerDavid Robillard <d@drobilla.net>2016-12-14 14:47:13 -0500
commite7b2f7ee286350bc3bb56b44ed98e4d8bf49af82 (patch)
tree8e5a4e42b36bb5c321f24cdd492cd3dc0a941222 /src/server/GraphImpl.cpp
parent05c55a5be68318d2b7ca861a3012bf4893bcb82d (diff)
downloadingen-e7b2f7ee286350bc3bb56b44ed98e4d8bf49af82.tar.gz
ingen-e7b2f7ee286350bc3bb56b44ed98e4d8bf49af82.tar.bz2
ingen-e7b2f7ee286350bc3bb56b44ed98e4d8bf49af82.zip
Fix real-time issues with buffer allocation
Diffstat (limited to 'src/server/GraphImpl.cpp')
-rw-r--r--src/server/GraphImpl.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/server/GraphImpl.cpp b/src/server/GraphImpl.cpp
index c1ee6a2b..dd7be036 100644
--- a/src/server/GraphImpl.cpp
+++ b/src/server/GraphImpl.cpp
@@ -191,15 +191,17 @@ GraphImpl::apply_internal_poly(RunContext& context,
for (auto& b : _blocks) {
for (uint32_t j = 0; j < b.num_ports(); ++j) {
PortImpl* const port = b.port_impl(j);
- if (port->is_input() && dynamic_cast<InputPort*>(port)->direct_connect())
- port->setup_buffers(bufs, port->poly(), true);
+ if (port->is_input() && dynamic_cast<InputPort*>(port)->direct_connect()) {
+ port->setup_buffers(context, bufs, port->poly());
+ }
port->connect_buffers();
}
}
const bool polyphonic = parent_graph() && (poly == parent_graph()->internal_poly_process());
- for (auto& o : _outputs)
- o.setup_buffers(bufs, polyphonic ? poly : 1, true);
+ for (auto& o : _outputs) {
+ o.setup_buffers(context, bufs, polyphonic ? poly : 1);
+ }
_poly_process = poly;
return true;