[LV2] Internal GTK UI Not Being Detected and Also: External Python UIs?
hermann meyer
brummer- at web.de
Sun Dec 8 02:24:46 PST 2013
Am 08.12.2013 08:33, schrieb Robin Gareus:
> On 12/08/2013 08:20 AM, hermann meyer wrote:
>> Am 07.12.2013 19:50, schrieb Kaspar Emanuel:
>>> Hi,
>>>
>>> I have run out of things to try on getting a basic GTK UI added to my
>>> plugin:
>>> https://github.com/kasbah/slim_looper.lv2/tree/feat-internal-ui/src
>>>
>>> I just copied the eg-sampler code for the time being and cut out what
>>> I don't need and added what I though I needed to the ttl files and
>>> changed the URIs. Jalv just doesn't detect
> git rev 4d9e042fa runs just fine in jalv.gtk here.
>
>>> it and I have no idea how
>>> to get more info beyond that.
> lv2ls, lv2info, sord_validate,...
>
>>> A second pair of eyes to see if I am
>>> doing something stupid are very much appreciated.
>> A quick look on your slim_lv2.ttl shows that you use the @prefix ui: 2
>> times.
>>
>> As a side note, a look at your loop source shows that you use a couple
>> of memset/memcpy calls in the dsp run callback, you should better avoid
>> this, because that functions can block the flow.
> memset, memcpy, memmove etc are fine they're O(N) and realtime safe.
> (malloc, free, etc are not RT-safe).
>
>>> On a semi-related note, how would I go about writing an external UI in
>>> Python (PySide), is it possible? I have seen the KXstudio externalui
>>> extension but don't fully understand it yet (hence I am playing with
>>> the internal UI) and haven't found any examples using UIs written in
>>> anything but C or C++.
> Nedko's lv2fil GUI is written in python.
>
>>> Cheers,
>>>
>>> Kaspar
>>>
>>>
and here is the needed diff to show the GUI.
diff --git a/src/slim_lv2.ttl b/src/slim_lv2.ttl
index aad0ec9..646cb15 100644
--- a/src/slim_lv2.ttl
+++ b/src/slim_lv2.ttl
@@ -4,8 +4,8 @@
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix bufsz: <http://lv2plug.in/ns/ext/buf-size#> .
- at prefix ui: <http://lv2plug.in/ns/extensions/ui#> .
- at prefix ui: <http://lv2plug.in/ns/ext/map#> .
+ at prefix guiext: <http://lv2plug.in/ns/extensions/ui#> .
+ at prefix uim: <http://lv2plug.in/ns/ext/map#> .
@prefix urid: <http://lv2plug.in/ns/ext/urid#> .
@prefix patch: <http://lv2plug.in/ns/ext/patch#> .
@@ -15,6 +15,9 @@
lv2:optionalFeature lv2:hardRTCapable ;
lv2:requiredFeature bufsz:boundedBlockLength ,
urid:map ;
+
+ guiext:ui <https://github.com/kasbah/slim_looper.lv2#ui>;
+
lv2:port [
a lv2:AudioPort ,
lv2:InputPort ;
@@ -49,10 +52,11 @@
] .
<https://github.com/kasbah/slim_looper.lv2#ui>
- a ui:GtkUI ;
+ a guiext:GtkUI ;
+ guiext:binary <slim_ui.so>;
lv2:requiredFeature urid:map ;
- ui:portNotification [
- ui:plugin <https://github.com/kasbah/slim_looper.lv2> ;
+ guiext:portNotification [
+ guiext:plugin <https://github.com/kasbah/slim_looper.lv2> ;
lv2:symbol "notify" ;
- ui:notifyType atom:Blank
+ guiext:notifyType atom:Blank
] .
diff --git a/src/slim_lv2_manifest.ttl.in b/src/slim_lv2_manifest.ttl.in
index c6c45d4..7a10472 100644
--- a/src/slim_lv2_manifest.ttl.in
+++ b/src/slim_lv2_manifest.ttl.in
@@ -1,14 +1,7 @@
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
- at prefix ui: <http://lv2plug.in/ns/extensions/ui#> .
<https://github.com/kasbah/slim_looper.lv2>
a lv2:Plugin ;
lv2:binary <slim at LIB_EXT@> ;
rdfs:seeAlso <slim_lv2.ttl> .
-
-<https://github.com/kasbah/slim_looper.lv2#ui>
- a ui:GtkUI ;
- ui:binary <slim_ui at LIB_EXT@> ;
- rdfs:seeAlso <slim_lv2.ttl> .
-
More information about the Devel
mailing list