diff options
author | David Robillard <d@drobilla.net> | 2016-10-14 17:09:01 -0400 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2016-10-14 17:47:35 -0400 |
commit | 01e143ed3353de6ef2bd0e4648b9b2a1a72a9959 (patch) | |
tree | c8a87b597fb8f5ade1b508082c93d127ae578266 /src/server/InputPort.cpp | |
parent | 8d92e5a38e141236b3687e8d775ee5d034127fb8 (diff) | |
download | ingen-01e143ed3353de6ef2bd0e4648b9b2a1a72a9959.tar.gz ingen-01e143ed3353de6ef2bd0e4648b9b2a1a72a9959.tar.bz2 ingen-01e143ed3353de6ef2bd0e4648b9b2a1a72a9959.zip |
Fix sequence ports with values
Diffstat (limited to 'src/server/InputPort.cpp')
-rw-r--r-- | src/server/InputPort.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/server/InputPort.cpp b/src/server/InputPort.cpp index 7754a809..3bc1ed95 100644 --- a/src/server/InputPort.cpp +++ b/src/server/InputPort.cpp @@ -86,7 +86,7 @@ InputPort::get_buffers(BufferFactory& bufs, } return false; - } else if (num_arcs == 1) { + } else if (num_arcs == 1 && !is_a(PortType::ATOM)) { if (real_time) { if (!_arcs.front().must_mix()) { // Single non-mixing connection, use buffers directly @@ -104,6 +104,9 @@ InputPort::get_buffers(BufferFactory& bufs, voices->at(v).buffer = bufs.get_buffer( buffer_type(), _value.type(), _buffer_size, real_time); voices->at(v).buffer->clear(); + if (_value.is_valid()) { + voices->at(v).buffer->set_value(_value); + } } return true; } @@ -202,6 +205,7 @@ InputPort::pre_run(RunContext& context) // Then mix them into our buffer for this voice mix(context, buffer(v).get(), srcs, n_srcs); + update_values(context.offset(), v); } } } |