Why VST??

All your LV2 and LADSPA goodness and more.

Moderators: MattKingUSA, khz

Drumfix
Established Member
Posts: 299
Joined: Mon Jan 26, 2009 5:15 pm
Been thanked: 11 times

Re: Why VST??

Post by Drumfix »

You can't use gtk2 and gtk3 inside the same process.
In your above case, reaper (libSwell = gtk3) registers GdkWindowManger and GdkDisplay on library initialization.
When you load the gtk2 plugin, the gtk2 library gets loaded, and that one is trying to register the same types again, which is rejected by GLib.

GLib-GObject-WARNING **: cannot register existing type `GdkDisplayManager'
GLib-GObject-WARNING **: cannot register existing type `GdkDisplay'

=> null pointer => crash

A similar problem applies when different versions of JUCE are mixed inside the same process.
ubuntuuser
Established Member
Posts: 315
Joined: Mon Jan 02, 2017 9:46 am
Has thanked: 1 time
Been thanked: 5 times

Re: Why VST??

Post by ubuntuuser »

Someone can test it out with Tracktion if they like.

Hopefully it will work.

It's set to load /usr/lib/vst/lsp-plugins-vst-compressor-stereo.so so that file has to be in that path.

Just put the lspcomp.so file in /usr/lib/vst and make sure that the lsp-plugins-vst-compressor-stereo.so file is also in /usr/lib/vst.

The plugin window needs to be closed by closing the small blank window and not the plugin window.

lspcomp.so.tar.gz
(6.77 KiB) Downloaded 122 times
ubuntuuser
Established Member
Posts: 315
Joined: Mon Jan 02, 2017 9:46 am
Has thanked: 1 time
Been thanked: 5 times

Re: Why VST??

Post by ubuntuuser »

Tracked down why Podolski was sometimes crashing in Reaper, and it was because of Reaper overwriting parts of AEffect.

Tracktion Linux doesn't do it but Reaper Linux does for some reason and that was resulting in crashes.

So, all Linux vst plugins (that I've tested) work with a UI in Reaper Linux and are coordinated with Reaper's UI button.

The lsp plugins don't work because of gtk 2 and 3 version mixing problems.

I went through a X11 window plugin version and then a xcb window plugin version and then a gtk (2 and 3) window plugin version and the simplest was just the X11 window plugin version.

I didn't know anything about X11 or xcb or gtk programming until a few weeks ago (I'm usually a OSX programmer), so some things were hard to pin down and what I thought were possible window thread problems clashing with Reaper Linux threads were not happening, and if I would have had more experience with Linux window programming then I could have eliminated looking for window thread problems earlier and not changed to using xcb and gtk, but learning things about X11 and xcb and gtk was interesting.

The occasional crashing problems (Podolski etc) were not due to window thread problems or any window problems, they were due to Reaper Linux host quirks.

The X11 plugin window (or the xcb or the gtk (2 and 3) window) does not have any issues (that I'm aware of) with Reaper Linux or Tracktion Linux except a gtk2 window will crash when the Reaper Linux libswell is made with gtk3/gdk3 (gtk2 and gtk3 clashes).

I started looking at vst wrappers with a window because of compatibility problems with JUCE (Tracktion Linux) and getting around certain bugs until they might get fixed and the lsp plugins work in Tracktion Linux using a vst wrapper with a window and so do earlier Linux vst versions of Drumgizmo (they have a JUCE bug workaround in newer versions), and it turns out that a vst wrapper with a window also works in Reaper Linux.

If Reapers pan knobs are set to "dual pan" and Linux vst's are used with a UI, then Reaper Linux is pretty useful.
Drumfix
Established Member
Posts: 299
Joined: Mon Jan 26, 2009 5:15 pm
Been thanked: 11 times

Re: Why VST??

Post by Drumfix »

As a side note: libSwell, which is used by reaper for painting graphics, is available in source code as part of WDL through git and can be compiled with gdk2 support instead of gdk3 with "make GDK2=1".
Post Reply