[Ardour-Users] GUI toolkit support

Will J Godfrey WillGodfrey at musically.me.uk
Fri Nov 16 09:29:12 PST 2018


On Fri, 16 Nov 2018 17:56:23 +0100
Robin Gareus <robin at gareus.org> wrote:

>On 11/16/2018 05:40 PM, m.eik michalke wrote:
>> Am Freitag, 16. November 2018, 16:13:31 CET schrieb Lukas Pirl:  
>>> If one likes fancy or generic interfaces is another discussion and
>>> personal preferences.  
>> 
>> thank you. you're right: i actually didn't ask who likes those plugins, but i 
>> wanted to know if they will no longer work.  
>
>calf is actually moving away from gtk towards their own toolkit CTK:
>https://github.com/calf-studio-gear/   -- guitarix may indirectly
>benefit from this, too.
>
>> if so, isn't it ironic that ardour is planning to drop support for plugins 
>> that work well in some environments, because it wants more plugins for all 
>> environments? i don't see where the one prevents the other.  
>
>Ardour is not planning anything like this.
>
>That restriction has always been there, so far most users were just
>lucky to not be affected by it. It is a technical issue:
>
>Plugins cannot know about each other, and hence must be self-contained.
>
>Say you write a plugin that needs ffmpeg and uses the newer
>libswresample2 interface, and another author writes a plugin that uses
>the older libswresample1 API. Now you dynamically link both.
>
>Distros may even package both library versions, and you can compile and
>link, but if you load both at the same time in the same host, there is a
>conflict.
>
>It is the same for QT4/QT5, gtk2/3: They can be installed at the same
>time, but cannot co-exist in a single application.
>
>You may also remember https://github.com/FFTW/fftw3/issues/16 which
>caused crashes when multiple plugins that do not know about each other
>used it fftw as shared library (static builds were not affected).
>
>The only way to ensure reliable operation is to statically link and make
>plugins self-contained (or process-separate plugins, but then you get
>context switches which are very expensive, even on modern machines).
>
>
>Some pro-audio distros (AVLinux, KXStdio) went to great length to
>statically link plugins whenever possible, even if upstream and other
>GNU/Linux distros don't not directly support it. Toolkits like falktx'
>DPF also facilitate that.
>
>
>However what Ardour will likely to only support wrapping native Window
>types:  X11 (perhaps also wayland) on Linux, NSView on Mac, HWND on
>Windows. That is orthogonal though. All Linux Plugins do currently use
>X11, regardless of toolkit.
>
>I hope that clarifies things.
>Cheers!
>robin

OK, I see the problem. However I guess it gives plugin developers two
unfortunate options.

1/ Re-invent the wheel and design your own toolkit (bug free).

2/ Find the smallest statically linkable toolkit you can and swallow the extra
footprint.

-- 
It wasn't me! (Well actually, it probably was)

... the hard part is not dodging what life throws at you,
but trying to catch the good bits.


More information about the Ardour-Users mailing list