[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
>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.

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

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