summaryrefslogtreecommitdiffstats
path: root/src/client/PluginUI.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-03-12 06:59:48 +0000
committerDavid Robillard <d@drobilla.net>2012-03-12 06:59:48 +0000
commit81e9fb3245bd461ebfee4cfa16d1792e48533f9e (patch)
treeeb1b30d79cba70dda9d832100dd7c14b08085b03 /src/client/PluginUI.cpp
parente9d9569271ee962c09ab66c6babed1ca5655a6c6 (diff)
downloadingen-81e9fb3245bd461ebfee4cfa16d1792e48533f9e.tar.gz
ingen-81e9fb3245bd461ebfee4cfa16d1792e48533f9e.tar.bz2
ingen-81e9fb3245bd461ebfee4cfa16d1792e48533f9e.zip
Centralise atom creation in forge object.
Aside from being more greppable and making realtime violations more obvious, this is a step towards using LV2 atoms internally (which needs a factory since the type numbers are dynamic). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4054 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/client/PluginUI.cpp')
-rw-r--r--src/client/PluginUI.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/client/PluginUI.cpp b/src/client/PluginUI.cpp
index 37789b28..f69d189b 100644
--- a/src/client/PluginUI.cpp
+++ b/src/client/PluginUI.cpp
@@ -63,9 +63,10 @@ lv2_ui_write(SuilController controller,
if (*(float*)buffer == port->value().get_float())
return; // do nothing (handle stupid plugin UIs that feed back)
- ui->world()->engine()->set_property(port->path(),
- uris.ingen_value,
- Atom(*(float*)buffer));
+ ui->world()->engine()->set_property(
+ port->path(),
+ uris.ingen_value,
+ ui->world()->forge().make(*(float*)buffer));
} else if (format == uris.ui_Events.id) {
LV2_Event_Buffer* buf = (LV2_Event_Buffer*)buffer;
@@ -77,11 +78,14 @@ lv2_ui_write(SuilController controller,
std::pair<bool, uint16_t> midi_id =
uri_map.global_to_event(uris.midi_MidiEvent.id);
if (midi_id.first && ev->type == midi_id.second) {
- // FIXME: bundle multiple events by writing an entire buffer here
+ // FIXME
+ /*
ui->world()->engine()->set_property(
port->path(),
uris.ingen_value,
- Atom("http://lv2plug.in/ns/ext/midi#MidiEvent", ev->size, data));
+ Atom("http://lv2plug.in/ns/ext/midi#MidiEvent", ev->size,
+ data));
+ */
} else {
warn << "Unable to serialise UI event type " << ev->type
<< ", event lost" << endl;