[Ardour-Users] GUI toolkit support

Robin Gareus robin at gareus.org
Fri Nov 16 08:56:23 PST 2018


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


More information about the Ardour-Users mailing list