[LV2] Widget-less UI not working

Hanspeter Portner ventosus at airpost.net
Sat May 21 00:08:14 PDT 2016


On 21.05.2016 06:23, Stefan Riha wrote:
> Hi, I'm a beginner and experimenting with lv2.

Great

> I wrote a simply synth and want a UI without Widget. On the lv2 page it says
>
>  "There is no requirement that a UI actually be a graphical widget."
>  (from: http://lv2plug.in/ns/extensions/ui/ ).

True, an UI can theoretically be anything.

Can you give some more information on what you want to accomplish? You may well not need an UI in the first place (but
don't know yet, as you are a beginner).

> Below that, there is a list of subclasses of UI, but all are for widgets. So I thought I'd try ui:UI directly instead of
> ui:GtkUI etc. But neither jalv nor Ardour recognises that there is a UI.

ui:UI is the parent class which the Widget UIs (ui:GtkUI, ui:Gtk3UI, ui:QtUI, ...) derive from. It is en empty shell
really, hosts cannot possibly know what is inside, you have to give the host some more information.

> So I used ui:GtkUI instead. In jalv, this yields error messages of type Gtk-CRITICAL. Obviously it's because there is no
> actual widget. In Ardour, I can see that the UI is instantiated() and immediately cleanedup(), probably because the Gtk
> errors are handled that way.

If you define the UI as an ui:GtkUI, but do not return a valid GtkWidget to the host, sure this raises an error.

> How do you do this?
>
> I looked for hours for some example code but couldn't find one. I stumbled across Ingen which has some form of
> web-interface (if I understood correctly) and tried to read the .ttl files, but don't understand them.

You may be looking for ui:showInterface [1] and ui:idleInterface [2], with those you can build arbitrary
UIs.

Here [3] you can find a dummy plugin I use for testing various UIs in my humble host.
<test_show.c> implements an as-simple-as-it-gets no-widget UI.

[1] http://lv2plug.in/ns/extensions/ui/#showInterface
[2] http://lv2plug.in/ns/extensions/ui/#idleInterface
[3] https://github.com/ventosus/alluis.lv2

> Thanks a lot for your help,
> Stefan


More information about the Devel mailing list