summaryrefslogtreecommitdiff
path: root/libs/ardour/lv2_plugin.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2013-09-03 17:41:49 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2013-09-03 17:41:49 -0400
commitd074bc586e494d7dd83d415a487195a477095a4f (patch)
tree8748ae1d85ef796449dcd30cff6ba6f2196a4704 /libs/ardour/lv2_plugin.cc
parent6bcdf4f0f106d0b83ed7f221f546c132585e19e7 (diff)
parent91b027a4a0c0e90398b9c6dbb5611b2acc4f2f8e (diff)
Merge branch 'master' into audioengine
Diffstat (limited to 'libs/ardour/lv2_plugin.cc')
-rw-r--r--libs/ardour/lv2_plugin.cc25
1 files changed, 18 insertions, 7 deletions
diff --git a/libs/ardour/lv2_plugin.cc b/libs/ardour/lv2_plugin.cc
index 220ef9ca80..9538cef8b6 100644
--- a/libs/ardour/lv2_plugin.cc
+++ b/libs/ardour/lv2_plugin.cc
@@ -142,6 +142,7 @@ public:
LilvNode* time_Position;
LilvNode* ui_GtkUI;
LilvNode* ui_external;
+ LilvNode* ui_externalkx;
private:
bool _bundle_checked;
@@ -561,11 +562,15 @@ LV2Plugin::init(const void* c_plugin, framecnt_t rate)
if (!_impl->ui) {
LILV_FOREACH(uis, i, uis) {
const LilvUI* ui = lilv_uis_get(uis, i);
- if (lilv_ui_is_a(ui, _world.ui_external)) {
+ if (lilv_ui_is_a(ui, _world.ui_externalkx)) {
_impl->ui = ui;
_impl->ui_type = _world.ui_external;
break;
}
+ if (lilv_ui_is_a(ui, _world.ui_external)) {
+ _impl->ui = ui;
+ _impl->ui_type = _world.ui_external;
+ }
}
}
}
@@ -613,7 +618,16 @@ LV2Plugin::is_external_ui() const
if (!_impl->ui) {
return false;
}
- return lilv_ui_is_a(_impl->ui, _world.ui_external);
+ return lilv_ui_is_a(_impl->ui, _world.ui_external) || lilv_ui_is_a(_impl->ui, _world.ui_externalkx);
+}
+
+bool
+LV2Plugin::is_external_kx() const
+{
+ if (!_impl->ui) {
+ return false;
+ }
+ return lilv_ui_is_a(_impl->ui, _world.ui_externalkx);
}
bool
@@ -1368,11 +1382,6 @@ LV2Plugin::describe_parameter(Evoral::Parameter which)
}
if (lilv_port_has_property(_impl->plugin,
- lilv_plugin_get_port_by_index(_impl->plugin, which.id()), _world.lv2_sampleRate)) {
- return X_("hidden");
- }
-
- if (lilv_port_has_property(_impl->plugin,
lilv_plugin_get_port_by_index(_impl->plugin, which.id()), _world.lv2_reportsLatency)) {
return X_("latency");
}
@@ -1955,10 +1964,12 @@ LV2World::LV2World()
time_Position = lilv_new_uri(world, LV2_TIME__Position);
ui_GtkUI = lilv_new_uri(world, LV2_UI__GtkUI);
ui_external = lilv_new_uri(world, "http://lv2plug.in/ns/extensions/ui#external");
+ ui_externalkx = lilv_new_uri(world, "http://kxstudio.sf.net/ns/lv2ext/external-ui#Widget");
}
LV2World::~LV2World()
{
+ lilv_node_free(ui_externalkx);
lilv_node_free(ui_external);
lilv_node_free(ui_GtkUI);
lilv_node_free(time_Position);