diff options
author | David Robillard <d@drobilla.net> | 2016-10-02 12:24:36 -0400 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2016-10-02 12:27:23 -0400 |
commit | b75b8c86b543fe950eb1482e904f2ce5f505de6c (patch) | |
tree | 97076cb87044ecdb65440fa320051346a95e390c | |
parent | 339937c6bf23d591664f4d7c9fffae6e5a0bf287 (diff) | |
download | ingen-b75b8c86b543fe950eb1482e904f2ce5f505de6c.tar.gz ingen-b75b8c86b543fe950eb1482e904f2ce5f505de6c.tar.bz2 ingen-b75b8c86b543fe950eb1482e904f2ce5f505de6c.zip |
Fix monitoring sequence ports
-rw-r--r-- | src/server/LV2Block.cpp | 8 |
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* |