summaryrefslogtreecommitdiff
path: root/gtk2_ardour/lv2_plugin_ui.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-10-20 09:07:51 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2015-10-20 09:07:58 -0400
commit336b2eb9a4a8634bae84a15e952d20335aa28c12 (patch)
treeab171341dd5ab7915ae77c937673ae586116ecb9 /gtk2_ardour/lv2_plugin_ui.h
parentf1a6d7816d13d3eca5885494f711b88a8270c899 (diff)
rename ParameterChanged signal in Plugin to ParameterChangedExternally to reflect its intent, and clean up the result.
The signal exists to notify listeners that something outside of the host's control (e.g. a plugin's own GUI for AU or VST) has modified a plugin parameter. Previous code had strange feedback loops and ambiguous semantics. Significant modification of LV2 GUI updating was required. Still to be tested for feedback loop issues: AudioUnits
Diffstat (limited to 'gtk2_ardour/lv2_plugin_ui.h')
-rw-r--r--gtk2_ardour/lv2_plugin_ui.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/gtk2_ardour/lv2_plugin_ui.h b/gtk2_ardour/lv2_plugin_ui.h
index 6a8acf9cf5..25ab4b9e30 100644
--- a/gtk2_ardour/lv2_plugin_ui.h
+++ b/gtk2_ardour/lv2_plugin_ui.h
@@ -26,6 +26,7 @@
#include <list>
#include <map>
+#include <set>
#include <vector>
#include <gtkmm/widget.h>
@@ -64,7 +65,7 @@ class LV2PluginUI : public PlugUIBase, public Gtk::VBox
private:
- void parameter_changed (uint32_t, float);
+ void control_changed (uint32_t);
typedef boost::shared_ptr<ARDOUR::AutomationControl> ControllableRef;
@@ -85,6 +86,8 @@ class LV2PluginUI : public PlugUIBase, public Gtk::VBox
LV2_Feature _parent_feature;
Gtk::Window* _win_ptr;
void* _inst;
+ typedef std::set<uint32_t> Updates;
+ Updates _updates;
static void on_external_ui_closed(void* controller);