VST Plugins

Hey there,

I have recently been developing a VST plugin with JUCE and have come across an issue that I haven’t been able to find a solution to.

Before the weekend I had Ardour and the plugin working fine, since then I have attempted to stabilise my audio subsystem and in the process uninstalled and reinstalled Ardour (not sure what the previous version was, sorry).

Since the update Ardour has not been showing the VST in the list of plugins. Digging deeper I found that my plugin was being added to the ardour blacklist for some reason.

Running Ardour through console I get no error output, I then downloaded the debugging version of Ardour to see if i could get more information through that but it does not seem to provide any extra information --is there a flag I need to run Ardour with in order to actually enable debugging?

Thanks for any help and great work with Ardour in general!

found a little more information…

running the following command

LD_LIBRARY_PATH=/opt/Ardour-5.12.0/lib/ /opt/Ardour-5.12.0/lib/ardour-vst-scanner -f /path/to/vst/file.so

i get this as output

[ERROR]: Could not open existing LXVST plugin: /usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37: undefined symbol: g_output_stream_write_all_async
[WARNING]: Cannot get LinuxVST information from ‘/path/to/vst/file.so’: load failed.

Your plugin and/or your version of JUCE or some other library you’re using is built against an incompatible version of glib (incompatible with the one used by Ardour).

Plugins ought to be self-contained shared object “blobs”. Dependencies on external libraries, especially GUI libraries and especially the same GUI libraries as used by the host, are quite problematic.

Hmm, the previous version I was using was still in the 5 range and none of the libraries I am using have changed since then. Has there been changes to the GUI libraries since then?

Is there any need to have a web browser (libwebkit2gtk dependency) in your plug-in? You might try configuring your JUCE build to omit this. Unfotunately there is no ‘magic’ way to avoid dependency issues (even if you statically link - which you may or may not be permitted to do depending upon your license and those of the libraries on which your plug-in depends - this can bring its own issues). The best approach is to keep dependencies to a minimum, especially avoid things like GTK, which in later versions is almost designed to be incompatible with each new release. Typically a linux VST plug-in - with a GUI - should only need the standard C(++) libraries, and X11.

1 Like

Sweet thanks for that :slight_smile:

I disabled the JUCE_WEB_BROWSER in the projucer ‘juce_gui_extra’ module and that seems to have fixed things

There probably is. I know what plugin is it all about, and it has online preset sharing. Preset library is provided with user authentication and rendered via WebKit.