diff options
author | David Robillard <d@drobilla.net> | 2011-12-18 01:15:01 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2011-12-18 01:15:01 +0000 |
commit | c6b390189d75aa7742a863603e45f9981a2bf050 (patch) | |
tree | 00a017290458ce25ab3ab94665e321d573b74d53 /src/presets.c | |
parent | 249cd445b6fd0fbb99da90b6b84d1a875b297fcf (diff) | |
download | jalv-c6b390189d75aa7742a863603e45f9981a2bf050.tar.gz jalv-c6b390189d75aa7742a863603e45f9981a2bf050.tar.bz2 jalv-c6b390189d75aa7742a863603e45f9981a2bf050.zip |
Fix UI updates.
git-svn-id: http://svn.drobilla.net/lad/trunk/jalv@3882 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/presets.c')
-rw-r--r-- | src/presets.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/presets.c b/src/presets.c index 1963e87..a7cd967 100644 --- a/src/presets.c +++ b/src/presets.c @@ -86,7 +86,17 @@ jalv_apply_preset(Jalv* jalv, const LilvNode* preset) struct Port* p = jalv_port_by_symbol(jalv, sym); if (p) { const float fvalue = lilv_node_as_float(value); + // Send value to plugin jalv_ui_write(jalv, p->index, sizeof(float), 0, &fvalue); + + // Update UI + char buf[sizeof(ControlChange) + sizeof(float)]; + ControlChange* ev = (ControlChange*)buf; + ev->index = p->index; + ev->protocol = 0; + ev->size = sizeof(float); + *(float*)ev->body = fvalue; + jack_ringbuffer_write(jalv->plugin_events, buf, sizeof(buf)); } else { fprintf(stderr, "error: Preset port `%s' is missing\n", sym); } |