Re: [LAD] lv2 external UI -- was Re: LV2 Oscilloscope

From: Robin Gareus <robin@email-addr-hidden>
Date: Fri Oct 11 2013 - 17:42:06 EEST

On 10/11/2013 04:08 PM, Robin Gareus wrote:
> On 10/11/2013 02:28 AM, Harry van Haaren wrote:
>> On Thu, Oct 10, 2013 at 8:07 PM, Paul Davis <paul@email-addr-hiddenwrote:
>>
>>>
>>> If a plugin uses one of them (the original) then Ardour will NOT delete
>>> the UI instance when it is closed.
>>> If a plugin uses the other (the version "forked"/"copied" by falktx) then
>>> Ardour WILL delete the UI instance when it is closed.
>>>
>>> Both specifications state that the UI is defunct and no longer usable
>>> after being closed:
>>>
>>> * After this callback is called, UI is defunct. Host must call
>>> * LV2UI_Descriptor::cleanup(). If host wants to make the UI visible
>>> * again UI must be reinstantiated.
>>>
>>>
>> Thanks for clearing that up: learning in progress on my behalf.
>> Cheers, -Harry
>>
>
> To clarify this a bit and fill in the details:
>
> *All this is only relevant for external UI.*
>
> 1) URI: http://kxstudio.sourceforge.net/ns/lv2ext/external-ui

correction. the official URI is

  http://kxstudio.sf.net/ns/lv2ext/external-ui#

>
> Ardour3.4 behaves according to spec, see the function documentation
> of void (*ui_closed)(LV2UI_Controller controller); in the header file
> http://kxstudio.sourceforge.net/ns/lv2ext/lv2_external_ui.h
>
>
> 2) URI: http://lv2plug.in/ns/extensions/ui#external
>
> Ardour 2.X - 3.4 does not follow the spec regarding void (*ui_closed).
> It just hides the window and shows it again.
>
> The reason for Ardour doing (2) differently is that it was agreed on by
> some developers that for many plugins re-initialization does not make
> sense (re-init can be CPU intense). Those devs updated the
> implementation but forgot or neglected to update the spec.
>
> AFAIK it's also only Ardour that does not follow the spec. Other LV2
> hosts that support lv2plug.in#externalui may implement it as synonym to
> kxstudio#external-ui.
>
> Otherwise the kxstudio#external-ui and lv2plugin#externalui are
> identical (with just a minor cosmetic difference that kxstudio defines a
> separate URI for the Host and plugin-widget).
>
> In any case, external UI's should be avoided if possible, there are very
> few valid use-cases. Just use a 'normal' LV2 UI or let the host generate
> one.
>
> ciao,
> robin
> _______________________________________________
> Linux-audio-dev mailing list
> Linux-audio-dev@email-addr-hidden
> http://lists.linuxaudio.org/listinfo/linux-audio-dev
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-dev
Received on Sat Oct 12 04:15:05 2013

This archive was generated by hypermail 2.1.8 : Sat Oct 12 2013 - 04:15:05 EEST