diff options
author | David Robillard <d@drobilla.net> | 2007-09-23 02:03:41 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2007-09-23 02:03:41 +0000 |
commit | d1ba04724f0bfbed18690316dbe5eb977a131733 (patch) | |
tree | 76ce5146a916ff4a497f88a7c4c3e99c64f4fca6 /src/libs/gui | |
parent | c1160ffc8a5dfb38891b0faa6373c9eecdd8e4c9 (diff) | |
download | ingen-d1ba04724f0bfbed18690316dbe5eb977a131733.tar.gz ingen-d1ba04724f0bfbed18690316dbe5eb977a131733.tar.bz2 ingen-d1ba04724f0bfbed18690316dbe5eb977a131733.zip |
Working LV2 UI control setting (including MIDI).
Klaviatur (ll-plugins virtual keyboard) is now fully functional inside Ingen.
git-svn-id: http://svn.drobilla.net/lad/ingen@766 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/gui')
-rw-r--r-- | src/libs/gui/ControlPanel.cpp | 6 | ||||
-rw-r--r-- | src/libs/gui/NodeMenu.cpp | 2 | ||||
-rw-r--r-- | src/libs/gui/NodeModule.cpp | 4 | ||||
-rw-r--r-- | src/libs/gui/Port.cpp | 3 |
4 files changed, 9 insertions, 6 deletions
diff --git a/src/libs/gui/ControlPanel.cpp b/src/libs/gui/ControlPanel.cpp index b12a21f5..bef5e18b 100644 --- a/src/libs/gui/ControlPanel.cpp +++ b/src/libs/gui/ControlPanel.cpp @@ -237,11 +237,13 @@ ControlPanel::value_changed(SharedPtr<PortModel> port, float val) * setting right away (so the value doesn't need to be echoed back) */ if (_all_voices_radio->get_active()) { - App::instance().engine()->set_port_value_immediate(port->path(), sizeof(float), &val); + App::instance().engine()->set_port_value_immediate(port->path(), "ingen:control", + sizeof(float), &val); port->value(val); } else { int voice = _voice_spinbutton->get_value_as_int(); - App::instance().engine()->set_port_value_immediate(port->path(), voice, sizeof(float), &val); + App::instance().engine()->set_port_value_immediate(port->path(), "ingen:control", + voice, sizeof(float), &val); port->value(val); } diff --git a/src/libs/gui/NodeMenu.cpp b/src/libs/gui/NodeMenu.cpp index 9c2d978e..6e4cb1d2 100644 --- a/src/libs/gui/NodeMenu.cpp +++ b/src/libs/gui/NodeMenu.cpp @@ -56,7 +56,7 @@ NodeMenu::init(SharedPtr<NodeModel> node) sigc::mem_fun(App::instance().window_factory(), &WindowFactory::present_controls), node)); - if (node->plugin()->ui()) + if (node->plugin()->ui(App::instance().engine().get(), node.get())) _gui_menuitem->signal_activate().connect(sigc::mem_fun(this, &NodeMenu::show_gui)); //else // _gui_menuitem->hide(); diff --git a/src/libs/gui/NodeModule.cpp b/src/libs/gui/NodeModule.cpp index 25cc4aa1..d271dd2f 100644 --- a/src/libs/gui/NodeModule.cpp +++ b/src/libs/gui/NodeModule.cpp @@ -123,11 +123,11 @@ NodeModule::show_control_window() if (_node->plugin()->type() == PluginModel::LV2) { // FIXME: check type - SLV2UIInstance ui = _node->plugin()->ui(); + SLV2UIInstance ui = _node->plugin()->ui(App::instance().engine().get(), _node.get()); if (ui) { cerr << "Showing LV2 GUI" << endl; // FIXME: leak - GtkWidget* c_widget = (GtkWidget*)slv2_ui_instance_get_widget(_node->plugin()->ui()); + GtkWidget* c_widget = (GtkWidget*)slv2_ui_instance_get_widget(ui); Gtk::Window* win = new Gtk::Window(); Gtk::Widget* widget = Glib::wrap(c_widget); win->add(*widget); diff --git a/src/libs/gui/Port.cpp b/src/libs/gui/Port.cpp index 8ba43d56..b6c64cf0 100644 --- a/src/libs/gui/Port.cpp +++ b/src/libs/gui/Port.cpp @@ -90,7 +90,8 @@ void Port::set_control(float value, bool signal) { if (signal) - App::instance().engine()->set_port_value_immediate(_port_model->path(), sizeof(float), &value); + App::instance().engine()->set_port_value_immediate(_port_model->path(), "ingen:control", + sizeof(float), &value); FlowCanvas::Port::set_control(value); } |