From b05bcc01029cbf01aa4bf8ab7d4e6c93458fd432 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 8 Mar 2015 08:30:57 +0000 Subject: Fix UI update on custom UI control changes. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5623 a436a847-0d15-0410-975c-d299462d15a1 --- src/client/PluginUI.cpp | 12 ++++++------ src/gui/NodeModule.cpp | 5 +++-- 2 files changed, 9 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/client/PluginUI.cpp b/src/client/PluginUI.cpp index 31e1f9ae..b8c7c7b3 100644 --- a/src/client/PluginUI.cpp +++ b/src/client/PluginUI.cpp @@ -70,7 +70,7 @@ lv2_ui_write(SuilController controller, return; // Ignore feedback } - ui->world()->interface()->set_property( + ui->signal_property_changed()( port->uri(), uris.ingen_value, ui->world()->forge().make(value)); @@ -79,9 +79,9 @@ lv2_ui_write(SuilController controller, const LV2_Atom* atom = (const LV2_Atom*)buffer; Atom val = ui->world()->forge().alloc( atom->size, atom->type, LV2_ATOM_BODY_CONST(atom)); - ui->world()->interface()->set_property(port->uri(), - uris.ingen_activity, - val); + ui->signal_property_changed()(port->uri(), + uris.ingen_activity, + val); } else { ui->world()->log().warn( @@ -116,7 +116,7 @@ lv2_ui_subscribe(SuilController controller, return 1; } - ui->world()->interface()->set_property( + ui->signal_property_changed()( ui->block()->ports()[port_index]->uri(), ui->world()->uris().ingen_broadcast, ui->world()->forge().make(true)); @@ -136,7 +136,7 @@ lv2_ui_unsubscribe(SuilController controller, return 1; } - ui->world()->interface()->set_property( + ui->signal_property_changed()( ui->block()->ports()[port_index]->uri(), ui->world()->uris().ingen_broadcast, ui->world()->forge().make(false)); diff --git a/src/gui/NodeModule.cpp b/src/gui/NodeModule.cpp index c03618cf..528b8e0f 100644 --- a/src/gui/NodeModule.cpp +++ b/src/gui/NodeModule.cpp @@ -228,8 +228,9 @@ NodeModule::embed_gui(bool embed) } if (!_plugin_ui) { - const PluginModel* const pm = dynamic_cast(_block->plugin()); - _plugin_ui = pm->ui(app().world(), _block); + _plugin_ui = _block->plugin_model()->ui(app().world(), _block); + _plugin_ui->signal_property_changed().connect( + sigc::mem_fun(app(), &App::set_property)); } if (_plugin_ui) { -- cgit v1.2.1