<div dir="ltr">I had time now to try it. I'm not sure if I understood this correctly, but ui:idleInterface and ui:showInterface don't seem to solve my problem. Jalv and Ardour don't even call extension_data(). They break before that, due to the invalid widget pointer they get from calling instantiate(). <div><br></div><div>However, I noticed that if I declare the widget-less UI as a ui:X11UI in the .ttl, then it works! Jalv, Ardour and Qtractor open an empty window, call extension_data() with ui:idleInterface. I actually think that's all I need. Probably has something to do with the pointer type for X11 windows (see <a href="http://lv2plug.in/ns/extensions/ui/#X11UI">http://lv2plug.in/ns/extensions/ui/#X11UI</a> )</div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, May 21, 2016 at 5:08 PM, Hanspeter Portner <span dir="ltr"><<a href="mailto:ventosus@airpost.net" target="_blank">ventosus@airpost.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 21.05.2016 06:23, Stefan Riha wrote:<br>
> Hi, I'm a beginner and experimenting with lv2.<br>
<br>
</span>Great<br>
<span class=""><br>
> I wrote a simply synth and want a UI without Widget. On the lv2 page it says<br>
><br>
>  "There is no requirement that a UI actually be a graphical widget."<br>
>  (from: <a href="http://lv2plug.in/ns/extensions/ui/" rel="noreferrer" target="_blank">http://lv2plug.in/ns/extensions/ui/</a> ).<br>
<br>
</span>True, an UI can theoretically be anything.<br>
<br>
Can you give some more information on what you want to accomplish? You may well not need an UI in the first place (but<br>
don't know yet, as you are a beginner).<br>
<span class=""><br>
> 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<br>
> ui:GtkUI etc. But neither jalv nor Ardour recognises that there is a UI.<br>
<br>
</span>ui:UI is the parent class which the Widget UIs (ui:GtkUI, ui:Gtk3UI, ui:QtUI, ...) derive from. It is en empty shell<br>
really, hosts cannot possibly know what is inside, you have to give the host some more information.<br>
<span class=""><br>
> So I used ui:GtkUI instead. In jalv, this yields error messages of type Gtk-CRITICAL. Obviously it's because there is no<br>
> actual widget. In Ardour, I can see that the UI is instantiated() and immediately cleanedup(), probably because the Gtk<br>
> errors are handled that way.<br>
<br>
</span>If you define the UI as an ui:GtkUI, but do not return a valid GtkWidget to the host, sure this raises an error.<br>
<span class=""><br>
> How do you do this?<br>
><br>
> I looked for hours for some example code but couldn't find one. I stumbled across Ingen which has some form of<br>
> web-interface (if I understood correctly) and tried to read the .ttl files, but don't understand them.<br>
<br>
</span>You may be looking for ui:showInterface [1] and ui:idleInterface [2], with those you can build arbitrary<br>
UIs.<br>
<br>
Here [3] you can find a dummy plugin I use for testing various UIs in my humble host.<br>
<test_show.c> implements an as-simple-as-it-gets no-widget UI.<br>
<br>
[1] <a href="http://lv2plug.in/ns/extensions/ui/#showInterface" rel="noreferrer" target="_blank">http://lv2plug.in/ns/extensions/ui/#showInterface</a><br>
[2] <a href="http://lv2plug.in/ns/extensions/ui/#idleInterface" rel="noreferrer" target="_blank">http://lv2plug.in/ns/extensions/ui/#idleInterface</a><br>
[3] <a href="https://github.com/ventosus/alluis.lv2" rel="noreferrer" target="_blank">https://github.com/ventosus/alluis.lv2</a><br>
<span class=""><br>
> Thanks a lot for your help,<br>
> Stefan<br>
</span>_______________________________________________<br>
Devel mailing list<br>
<a href="mailto:Devel@lists.lv2plug.in">Devel@lists.lv2plug.in</a><br>
<a href="http://lists.lv2plug.in/listinfo.cgi/devel-lv2plug.in" rel="noreferrer" target="_blank">http://lists.lv2plug.in/listinfo.cgi/devel-lv2plug.in</a><br>
</blockquote></div><br></div>