Vstgui4 and Linux

DSP, Plug-in and Host development discussion.
User avatar
noizebox
KVRer
22 posts since 19 Nov, 2012 from Stockholm, Sweden

Post Fri Jul 27, 2018 8:50 am

Maybe a dumb question, but I'm just throwing out a question if anyone has used the latest Vstgui on Linux. I'm trying to add a gui to a vst2.4 plugin using vstgui4 under linux and got stuck and would appreciate some pointers if anyone has gone through the same process. Search came up empty handed btw.

I mainly copied the included tutorial code from TutorialEditor.cpp into my plugin (the tutorial code also seems a bit dated as it was using CControlListener, which has been renamed IControlListener) to get started and after hacking the Platform::getPath() and Bitmap::load to not add the "/Contents/Resources" it now loads png files for knobs correctly and it opens an editor window with a given size but the contents of the window is simply a copy of what was below it and no knobs or background is drawn.

Do I need to add a RunLoop manually or start it or somehow else manually force redrawing of the widgets? Frow what I can tell from the sources, it should be enough to inherit the base implementation of AEffGUIEditor and it should start the appropriate gui thread(s) depending on the platform. But I do recall Linux support is a bit sketchy.

Running it in Renoise a can see Renoise printing: "VstWindow: No event child window", but afaik implementing valueChanged() and passing that to knobs should be enough to receive events. valueChanged() is not being called either.

arne
KVRist
141 posts since 21 Aug, 2004

Re: Vstgui4 and Linux

Post Fri Jul 27, 2018 11:27 pm

There's no official specification on how to embed a window for linux in the VST2.x SDK, so it is not implemented in VSTGUI.

User avatar
noizebox
KVRer
22 posts since 19 Nov, 2012 from Stockholm, Sweden

Re: Vstgui4 and Linux

Post Sat Jul 28, 2018 5:23 am

Ah, I see :) . So Linux support is only for VST3. Makes sense as you're deprecating VST2 altogether soon. Thanks for your answer.
I'll eventually compile it on windows so it's not the end of the world if it doesn't work under Linux, but right now I'm on vacation with only a linux laptop at hand.

Do you think it would be hard to implement the missing pieces myself by looking at the VST3 implementation, by the way?

stratum
KVRAF
1843 posts since 29 May, 2012

Re: Vstgui4 and Linux

Post Sat Jul 28, 2018 10:46 am

If Renoise is passing you a window handle that is not in the VST spec you might be able to write a Linux VST2 plugin that runs in Renoise only. A possible candidate might be X11 window ID, but there are other options, and only the authors of Renoise may possibly know what they did (if they did it at all for any reason).
~stratum~

User avatar
noizebox
KVRer
22 posts since 19 Nov, 2012 from Stockholm, Sweden

Re: Vstgui4 and Linux

Post Sun Jul 29, 2018 12:51 pm

I have gone through the docs a bit more now and gotten a better understanding of the problem. Thanks for pointing that out to me arne.
If I have time I might just assume its an x11 window handle and see if it's works :) All the Linux vsts that I have tested, do work in Renoise, although I haven't tested that many. So it does supply a window reference and something that most plugins can use for drawing. So I guess that if I could make it work in Renoise, it would probably work in other daws too. But I might also just continue the work on my Windows machine when I get back home.

Return to “DSP and Plug-in Development”