View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0009304||ardour||features||public||2023-04-15 22:04||2023-04-22 18:16|
|Platform||Apple Macintosh||OS||MacOS||OS Version||10.12 or later|
|Summary||0009304: Make it possible to use UI for Calf plugins|
|Description||Calf Plugins are a suite of excellent multiplatform open source audio plugins from https://calf-studio-gear.org/|
There are two github issues related to them and macOS:
Calf plugins for macOS: https://github.com/calf-studio-gear/calf/issues/72
GTK UI for Calf: https://github.com/calf-studio-gear/calf/issues/324
Calf Plugins are available on macOS via brew.
Calf plugins without the graphical interface not very usable. It's possible to adjust parameters by reading text labels, but most of the real time feedback is missing and it's hard to figure out how the plugin is interacting with my audio.
It's not currently possible to enable the graphical UI in Ardour in macOS. It's possible to compile Calf Plugins with GTK support using brew, but when you try to open a plugin, Ardour immediately crashes.
AFAIU, it's because of clashing GTK libraries. One GTK library comes with the official Ardour binary, and the other comes with homebrew. (Disclaimer, I might be wrong about this, I just read it in the github issues linked above.)
Calf / homebrew is just an example of a plugin that happens to contain clashing symbols, and I could imagine other plugins running into the same problem. I'd argue that since Ardour is a binary distribution, it's on Ardour's side to make that binary compatible with plugins using standard toolkit libraries.
Could you see any way of achieving this compatibility? How to have Ardour and Calf compiled with the same version of GTK?
|Steps To Reproduce||1. Take a macOS machine.|
2. Install Ardour on it.
3. Compile Calf on it using `brew reinstall --with-gtk+ --with-cairo calf`.
4. Create an Ardour project and try to open a Calf plugin.
Ardour will crash.
First of all, the calf plugin's DSP is, to put it mildly, far from great. You're well advised to avoid those plugins for pro-audio) [1,2,3,4].
As for the issue at hand. GTK (like QT) is not suitable for plugin GUIs because it requires the host and plugin to have the exact same ABI of the toolkit.
Plugins are supposed to be self-contained and not rely on external libs, with GTK this is not possible. All plugins have moved away from GTK, except CALF.
In order to use calf plugins both ardour and the calf plugins have to be compiled with the exact same version of GTK. -- You might be able to archive this by compiling Ardour via brew.