summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2016-10-02 12:24:36 -0400
committerDavid Robillard <d@drobilla.net>2016-10-02 12:27:23 -0400
commitb75b8c86b543fe950eb1482e904f2ce5f505de6c (patch)
tree97076cb87044ecdb65440fa320051346a95e390c
parent339937c6bf23d591664f4d7c9fffae6e5a0bf287 (diff)
downloadingen-b75b8c86b543fe950eb1482e904f2ce5f505de6c.tar.gz
ingen-b75b8c86b543fe950eb1482e904f2ce5f505de6c.tar.bz2
ingen-b75b8c86b543fe950eb1482e904f2ce5f505de6c.zip
Fix monitoring sequence ports
-rw-r--r--src/server/LV2Block.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/server/LV2Block.cpp b/src/server/LV2Block.cpp
index 7dcfb362..309b68da 100644
--- a/src/server/LV2Block.cpp
+++ b/src/server/LV2Block.cpp
@@ -554,8 +554,9 @@ LV2Block::run(RunContext& context)
void
LV2Block::post_process(RunContext& context)
{
- BlockImpl::post_process(context);
-
+ /* Handle any worker responses. Note that this may write to output ports,
+ so must be done first to prevent clobbering worker responses and
+ monitored notification ports. */
if (_worker_iface) {
LV2_Handle inst = lilv_instance_get_handle(instance(0));
while (!_responses.empty()) {
@@ -569,6 +570,9 @@ LV2Block::post_process(RunContext& context)
_worker_iface->end_run(inst);
}
}
+
+ /* Run cycle truly finished, finalise output ports. */
+ BlockImpl::post_process(context);
}
LilvState*