From 339937c6bf23d591664f4d7c9fffae6e5a0bf287 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 2 Oct 2016 12:24:28 -0400 Subject: Fix sending UI events to sequence ports --- src/server/InputPort.cpp | 6 +++++- src/server/events/SetPortValue.cpp | 1 - 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'src/server') diff --git a/src/server/InputPort.cpp b/src/server/InputPort.cpp index 8ee0f56a..7e7412cc 100644 --- a/src/server/InputPort.cpp +++ b/src/server/InputPort.cpp @@ -149,9 +149,13 @@ InputPort::pre_process(RunContext& context) buffer(v)->update_value_buffer(context.offset()); } } else if (_arcs.empty()) { - // No incoming arcs, just update set state + // No incoming arcs, just handle user-set value for (uint32_t v = 0; v < _poly; ++v) { + // Update set state update_set_state(context, v); + + // Prepare for write in case a set event executes this cycle + buffer(v)->prepare_write(context); } } else if (direct_connect()) { // Directly connected, use source's buffer directly diff --git a/src/server/events/SetPortValue.cpp b/src/server/events/SetPortValue.cpp index 5bcb6dbf..9530e2d3 100644 --- a/src/server/events/SetPortValue.cpp +++ b/src/server/events/SetPortValue.cpp @@ -93,7 +93,6 @@ SetPortValue::apply(RunContext& context) _status = Status::TYPE_MISMATCH; } } else if (buf->type() == uris.atom_Sequence) { - buf->prepare_write(context); // FIXME: incorrect if (buf->append_event(_time - context.start(), _value.size(), _value.type(), -- cgit v1.2.1