VSTGUI 4.10 - Getting an empty screen - How to correctly set the editor with init()?

I’m currently testing VSTGUI 4.10 in an old VST2.4 plugin (because it is quite complicated and I’d like not to switch it to VST3 for it now).
Trying to compile to native M1 on a MacMini M1.


  • I added this to ControlsguiEditor::ControlsguiEditor (where I used to setup the interface):

CFBundleRef MyBundle = CFBundleGetBundleWithIdentifier(CFSTR(“com.me.mybundlename”));

  • The bundle part above wasn’t like this:

CFBundleRef MyBundle = CFBundleGetMainBundle()

because the result with this was the plugin not finding the resources.
Now it finds them and correctly sizes the window according to background bitmap size (extracted from the loaded one).

  • also added this to ControlsguiEditor destroyer:


My problem is that the result is a completely blank window, even though of the correct size. Looks like a link is missing between the setup and the actual window and everything is happening in the wrong place.
I also tried to set the background to full black in place of the bitmap but it is still white. Looks like nothing is painted there.

Any example about this? Or a tip about something trivial I could be overlooking?

Well, as an update, looks like I had to call frame->open() explicitly now.

Now Everything is in place in the window. Running further tests to understand if this is all was needed, it would be a very nice surprise.

Looks like COffscreenContext can’t be used like before (VSTGUI 4.3), as it is crashing:

offscreen = VSTGUI::COffscreenContext(CPoint(thissize.getWidth(), thissize.getHeight()), 1.);

offscreen->createRoundRectGraphicsPath(thissize, 0.);



Yes, looks like I can’t do anything with an offscreen context.
I use it (on 4.3) to draw slowly changing and heavy stuff on a layer and as a backgound on which to draw quicker and lighter things.
Example: an EQ curve (slowly changing) on the background on an offscreen that will be redrawn as a static bitmap, the spectrum analyzer (continuously changing) on top of it.

First of all, VST2 is not any longer supported and thus I expect that Cubase won’t support it natively on M1.
Second for your COffscreenContext issue, read the documentation: vstgui/coffscreencontext.h at develop · steinbergmedia/vstgui · GitHub

Yes, usage two from the docs is exactly what we have been using in 4.3 and works perfectly.
With 4.10 we cannot even refer to the newly created COffscreenContext, an immediate crash is the result.

4.10 is not yet released, so filing a bug report @ GitHub with a step-by-step instruction how to reproduce it will help.