aboutsummaryrefslogtreecommitdiffstats
path: root/src/jack.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2024-11-16 18:25:20 -0500
committerDavid Robillard <d@drobilla.net>2024-11-24 19:03:42 -0500
commitd52d38ccdc9bc38fe5c62eb2458be30b3cf6ca59 (patch)
tree838e9d5251ad1a710c297e0c5f1252632ad03c76 /src/jack.c
parent8e648abdcfefbf2a2e3774aa8827b5dcd6569e3b (diff)
downloadjalv-d52d38ccdc9bc38fe5c62eb2458be30b3cf6ca59.tar.gz
jalv-d52d38ccdc9bc38fe5c62eb2458be30b3cf6ca59.tar.bz2
jalv-d52d38ccdc9bc38fe5c62eb2458be30b3cf6ca59.zip
Only send control messages to designated lv2:control ports
Diffstat (limited to 'src/jack.c')
-rw-r--r--src/jack.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/jack.c b/src/jack.c
index f37d702..a138f57 100644
--- a/src/jack.c
+++ b/src/jack.c
@@ -191,15 +191,15 @@ jack_process_cb(jack_nframes_t nframes, void* data)
jalv->instance, p, jack_port_get_buffer(port->sys_port, nframes));
} else if (port->type == TYPE_EVENT && port->flow == FLOW_INPUT) {
lv2_evbuf_reset(port->evbuf, true);
-
- // Write transport change event if applicable
LV2_Evbuf_Iterator iter = lv2_evbuf_begin(port->evbuf);
- if (xport_changed) {
+
+ if (port->is_primary && xport_changed) {
+ // Write new transport position
lv2_evbuf_write(
&iter, 0, 0, lv2_pos->type, lv2_pos->size, LV2_ATOM_BODY(lv2_pos));
}
- if (jalv->request_update) {
+ if (port->is_primary && jalv->request_update) {
// Plugin state has changed, request an update
jalv_write_get_message(&iter, &jalv->urids);
}