summaryrefslogtreecommitdiffstats
path: root/src/server/InputPort.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2015-10-23 16:42:17 +0000
committerDavid Robillard <d@drobilla.net>2015-10-23 16:42:17 +0000
commit626ec62aab67c136c405cc88213d7b92325c01d7 (patch)
tree01a94497d665daa90ba754f44cf2bc8b25ad92d0 /src/server/InputPort.cpp
parent425786b0c41be41c50675815df51ed8927160865 (diff)
downloadingen-626ec62aab67c136c405cc88213d7b92325c01d7.tar.gz
ingen-626ec62aab67c136c405cc88213d7b92325c01d7.tar.bz2
ingen-626ec62aab67c136c405cc88213d7b92325c01d7.zip
Reduce overhead
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5770 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/server/InputPort.cpp')
-rw-r--r--src/server/InputPort.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/server/InputPort.cpp b/src/server/InputPort.cpp
index f2aacea1..abaf5b62 100644
--- a/src/server/InputPort.cpp
+++ b/src/server/InputPort.cpp
@@ -148,14 +148,13 @@ InputPort::pre_process(Context& context)
for (uint32_t v = 0; v < _poly; ++v) {
buffer(v)->update_value_buffer(context.offset());
}
- return;
- }
-
- if (_arcs.empty()) {
+ } else if (_arcs.empty()) {
+ // No incoming arcs, just update set state
for (uint32_t v = 0; v < _poly; ++v) {
update_set_state(context, v);
}
} else if (direct_connect()) {
+ // Directly connected, use source's buffer directly
for (uint32_t v = 0; v < _poly; ++v) {
_voices->at(v).buffer = _arcs.front().buffer(v);
}