diff options
author | David Robillard <d@drobilla.net> | 2008-08-17 01:34:53 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2008-08-17 01:34:53 +0000 |
commit | 694b31089c8060fc6b908b146b12c0e340d004c7 (patch) | |
tree | 48b0e0195de5e7b297e65be15eda35639585ef8a /src/libs/client/PluginUI.cpp | |
parent | 3dc90cc95df35e5c786857336f22856c6373b00f (diff) | |
download | ingen-694b31089c8060fc6b908b146b12c0e340d004c7.tar.gz ingen-694b31089c8060fc6b908b146b12c0e340d004c7.tar.bz2 ingen-694b31089c8060fc6b908b146b12c0e340d004c7.zip |
Cloooser...
Bundling of OSC communication both ways (previous was just engine->client).
Factor out common OSC*Sender functionality (bundling stuff).
Fully type-safe and polyphony-aware port value setting/getting, from RDF through OSC through engine and back again.
git-svn-id: http://svn.drobilla.net/lad/ingen@1409 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/client/PluginUI.cpp')
-rw-r--r-- | src/libs/client/PluginUI.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/libs/client/PluginUI.cpp b/src/libs/client/PluginUI.cpp index f2f591bd..df958f06 100644 --- a/src/libs/client/PluginUI.cpp +++ b/src/libs/client/PluginUI.cpp @@ -64,9 +64,7 @@ lv2_ui_write(LV2UI_Controller controller, if (*(float*)buffer == port->value().get_float()) return; // do nothing (handle stupid plugin UIs that feed back) - ui->world()->engine->set_port_value_immediate(port->path(), - port->type().uri(), - buffer_size, buffer); + ui->world()->engine->set_port_value_immediate(port->path(), Atom(*(float*)buffer)); // FIXME: slow, need to cache ID } else if (format == map->uri_to_id(NULL, "http://lv2plug.in/ns/extensions/ui#Events")) { @@ -80,7 +78,7 @@ lv2_ui_write(LV2UI_Controller controller, if (ev->type == midi_event_type) { // FIXME: bundle multiple events by writing an entire buffer here ui->world()->engine->set_port_value_immediate(port->path(), - "lv2_midi:MidiEvent", ev->size, data); + Atom("lv2_midi:MidiEvent", ev->size, data)); } else { cerr << "WARNING: Unable to send event type " << ev->type << " over OSC, ignoring event" << endl; |