diff options
author | David Robillard <d@drobilla.net> | 2017-03-19 13:26:38 +0100 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2017-03-20 02:58:56 +0100 |
commit | f1c793f7e2148b10610a09a459d9e89b39d2d87b (patch) | |
tree | b898407dce08af0f2f978d59a85d4887d8555b54 /src/client | |
parent | efc0fe0a973db706d9409b345ad6fae585f4388c (diff) | |
download | ingen-f1c793f7e2148b10610a09a459d9e89b39d2d87b.tar.gz ingen-f1c793f7e2148b10610a09a459d9e89b39d2d87b.tar.bz2 ingen-f1c793f7e2148b10610a09a459d9e89b39d2d87b.zip |
Fix round-trip preservation of property contexts
Diffstat (limited to 'src/client')
-rw-r--r-- | src/client/ClientStore.cpp | 8 | ||||
-rw-r--r-- | src/client/PluginUI.cpp | 13 |
2 files changed, 13 insertions, 8 deletions
diff --git a/src/client/ClientStore.cpp b/src/client/ClientStore.cpp index eac853f7..a622068c 100644 --- a/src/client/ClientStore.cpp +++ b/src/client/ClientStore.cpp @@ -342,7 +342,8 @@ ClientStore::put(const Raul::URI& uri, void ClientStore::delta(const Raul::URI& uri, const Properties& remove, - const Properties& add) + const Properties& add, + Resource::Graph ctx) { if (uri == Raul::URI("ingen:/clients/this")) { // Client property, which we don't store (yet?) @@ -370,7 +371,8 @@ ClientStore::delta(const Raul::URI& uri, void ClientStore::set_property(const Raul::URI& subject_uri, const Raul::URI& predicate, - const Atom& value) + const Atom& value, + Resource::Graph ctx) { if (subject_uri == Raul::URI("ingen:/engine")) { _log.info(fmt("Engine property <%1%> = %2%\n") @@ -384,7 +386,7 @@ ClientStore::set_property(const Raul::URI& subject_uri, blinkenlights) but do not store the property. */ subject->on_property(predicate, value); } else { - subject->set_property(predicate, value); + subject->set_property(predicate, value, ctx); } } else { SPtr<PluginModel> plugin = _plugin(subject_uri); diff --git a/src/client/PluginUI.cpp b/src/client/PluginUI.cpp index b4631f0d..d4558ed4 100644 --- a/src/client/PluginUI.cpp +++ b/src/client/PluginUI.cpp @@ -73,7 +73,8 @@ lv2_ui_write(SuilController controller, ui->signal_property_changed()( port->uri(), uris.ingen_value, - ui->world()->forge().make(value)); + ui->world()->forge().make(value), + Resource::Graph::DEFAULT); } else if (format == uris.atom_eventTransfer.urid.get<LV2_URID>()) { const LV2_Atom* atom = (const LV2_Atom*)buffer; @@ -81,8 +82,8 @@ lv2_ui_write(SuilController controller, atom->size, atom->type, LV2_ATOM_BODY_CONST(atom)); ui->signal_property_changed()(port->uri(), uris.ingen_activity, - val); - + val, + Resource::Graph::DEFAULT); } else { ui->world()->log().warn( fmt("Unknown value format %1% from LV2 UI\n") @@ -119,7 +120,8 @@ lv2_ui_subscribe(SuilController controller, ui->signal_property_changed()( ui->block()->ports()[port_index]->uri(), ui->world()->uris().ingen_broadcast, - ui->world()->forge().make(true)); + ui->world()->forge().make(true), + Resource::Graph::DEFAULT); return 0; } @@ -139,7 +141,8 @@ lv2_ui_unsubscribe(SuilController controller, ui->signal_property_changed()( ui->block()->ports()[port_index]->uri(), ui->world()->uris().ingen_broadcast, - ui->world()->forge().make(false)); + ui->world()->forge().make(false), + Resource::Graph::DEFAULT); return 0; } |