[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