VSTGUI 4.3 Blank editor screen

Completed to port my VST3 from VSTGUI 3.6 to 4.3. Now everything seem to work except, got a blank editor screen !
Almost all of the code is the same as the VSTGUI 3.6 version.

The Tuturial project however works ok (after some fixes as it did not use IControlListener etc…) In editor:open it calls CFrame* newFrame = new CFrame (frameSize, ptr, this); with three parameters instead of the required two. In my project that call fails to compile, but the tutorial it compiles ok (VS2015) even there is a small red warning in the VS editor. Wonder wonder. Perhaps that is a culprit somehow.

My open function is similar to the Tutorial project. Even newframe->setBackgroundColor(kGreenCColor) does not set the color. Bitmaps creation are ok and bitmap->isLoaded() all return success. When I move over the windows in VST3PluginHost I can see it shows those black boxes with the number for the controls so it look like the controls are there.

did you changed all the stuff mentioned in the documentation :

  • the variable types were changed to use C99 style types (int32_t, etc), you must do this for all your derivated VSTGUI classes too

  • the buttons parameter has changed from long to CButtonState

  • your custom views need to use the new mouse methods

  • COptionMenuScheme is not available anymore

  • VSTGUI::CFileSelector is gone, you have to use VSTGUI::CNewFileSelector

  • VST extensions previously enabled via ENABLE_VST_EXTENSION_IN_VSTGUI is gone without replacement

  • VSTGUI::CBitmap was completely changed and does not use a transparency color anymore, you need to use the alpha channel of a bitmap to get the same results

  • VSTGUI::COffscreenContext is handled completely different. But in most cases you can simply remove all offscreens where you needed them to reduce flicker.

  • On Windows graphics are entirely drawn with GDI+ or Direct2D (when available), GDI is not used anymore

  • The internal string encoding is now always UTF-8

  • The VSTGUI::CCoord type is now always a double

  • on Mac OS X, embedding a CFrame into a non composited carbon window is not supported anymore

  • on Mac OS X, when targeting Mac OS X 10.4 some of the graphics path methods are not implemented.

  • Method signature changes which don’t lead to compile errors:

  • CView::setViewSize (CRect& rect, bool invalid = true)

  • CView::hitTest (const CPoint& where, CButtonState& buttons = -1)

  • CView::invalidRect (CRect& rect)

  • CViewContainer::drawBackgroundRect (CDrawContext* pContext, CRect& _updateRect)

  • CViewContainer::addView (CView* pView, CRect& mouseableArea, bool mouseEnabled = true)


Thanks, fixed. Found a null pointer exception in open call perhaps introduced during debugging that stopped the editor from initializing and also, after regression, found the cause was not having the frame->open() call (in VSTGUI 3.6 did not call this) - perhaps that was the original issue why it did not work.

Could you give me a hint or point to an example how to use the transparency with the alpha channel ?

Just convert your bitmaps to PNG and use the alpha channel of the PNG format.

Found the alpha channel :wink: Works. Thanks a lot !