aboutsummaryrefslogtreecommitdiffhomepage
path: root/core
diff options
context:
space:
mode:
authorcbdev <cb@cbcdn.com>2021-11-14 09:00:12 +0100
committercbdev <cb@cbcdn.com>2021-11-14 09:00:12 +0100
commit6cedb806ca6c194ebfa842141be870595b0fd79d (patch)
tree167fef534b04a936d0bc2bf97e871d76458cf680 /core
parentac9182ff8a6c143ed5ea663f288ea83782e3119a (diff)
downloadmidimonster-6cedb806ca6c194ebfa842141be870595b0fd79d.tar.gz
midimonster-6cedb806ca6c194ebfa842141be870595b0fd79d.tar.bz2
midimonster-6cedb806ca6c194ebfa842141be870595b0fd79d.zip
Update comments
Diffstat (limited to 'core')
-rw-r--r--core/backend.c5
-rw-r--r--core/routing.c6
2 files changed, 9 insertions, 2 deletions
diff --git a/core/backend.c b/core/backend.c
index 93ac8fa..6a25534 100644
--- a/core/backend.c
+++ b/core/backend.c
@@ -87,7 +87,10 @@ int backends_notify(size_t nev, channel** c, channel_value* v){
}
}
- //TODO eliminate duplicates
+ /*
+ * Do not eliminate duplicates here. There are legitimate uses for a channel occuring multiple times
+ * in one loop iteration, e.g. stateful OSC layer selectors.
+ */
DBGPF("Calling handler for instance %s with %" PRIsize_t " events", c[u]->instance->name, n - u);
rv |= c[u]->instance->backend->handle(c[u]->instance, n - u, c + u, v + u);
}
diff --git a/core/routing.c b/core/routing.c
index 284569a..caaf512 100644
--- a/core/routing.c
+++ b/core/routing.c
@@ -122,7 +122,11 @@ MM_API int mm_channel_event(channel* c, channel_value v){
}
//enqueue channel events
- //FIXME this might lead to one channel being mentioned multiple times in an apply call
+ /*
+ * This might lead to one channel being mentioned multiple times in an apply call.
+ * That effect should not be eliminated as there are legitimate uses for one channel
+ * being set multiple times in one core iteration (e.g. for stateful layer selection messages)
+ */
memcpy(routing.events->channel + routing.events->n, routing.map[bucket][u].to, routing.map[bucket][u].destinations * sizeof(channel*));
for(p = 0; p < routing.map[bucket][u].destinations; p++){
routing.events->value[routing.events->n + p] = v;