From b75b8c86b543fe950eb1482e904f2ce5f505de6c Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 2 Oct 2016 12:24:36 -0400 Subject: Fix monitoring sequence ports --- src/server/LV2Block.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src') 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* -- cgit v1.2.1