VSTGUI on other hosts

A user interface toolkit mainly for audio plug-ins (VST, AudioUnit, etc).
Post Reply
denis_prophet
Posts: 7
Joined: Mon Mar 27, 2017 8:35 pm

VSTGUI on other hosts

Post by denis_prophet »

I tested the VST3 SDK samples on different hosts and saw GUI bugs in FL Studio.(Windows 10, x64, VSTGUI 4.8) When I open the sample plugin and select it, the image looks fine, then I take the mixer window and move it over the plugin and it looks like a black window. I understand that someone might say this is a FL Studio problem, but other plugins seem to be fine. Is there any way to solve this problem? Screenshot attached.
You do not have the required permissions to view the files attached to this post.

Arne Scheffler
Posts: 414
Joined: Mon Jun 20, 2016 7:53 am

Re: VSTGUI on other hosts

Post by Arne Scheffler »

Hi,
I tried this today with FL Studio 20.7.2 and VST SDK 3.7.0 and I cannot reproduce it.
Anything special you have setup in FL Studio?

Cheers,
Arne

denis_prophet
Posts: 7
Joined: Mon Mar 27, 2017 8:35 pm

The reproducing

Post by denis_prophet »

bug.gif
You do not have the required permissions to view the files attached to this post.

Arne Scheffler
Posts: 414
Joined: Mon Jun 20, 2016 7:53 am

Re: VSTGUI on other hosts

Post by Arne Scheffler »

Hi,
as I said before, this does not happen on my machine. I'm using Windows 10 Version 2004. Which Windows version do you use?

denis_prophet
Posts: 7
Joined: Mon Mar 27, 2017 8:35 pm

Re: VSTGUI on other hosts

Post by denis_prophet »

Edition: Windows 10 Pro
Version: 1909
OS Build: 18363:1016

denis_prophet
Posts: 7
Joined: Mon Mar 27, 2017 8:35 pm

Re: VSTGUI on other hosts

Post by denis_prophet »

I discovered a few things while debugging.
When the mixer window is activated, overlapping the plugin window, the void Win32Frame :: paint (HWND hwnd) method is called (win32frame.cpp).
This method has the condition

Code: Select all

if (updateRegionList->rdh.nCount > 1) 
{...} 
else
{
drawContext-> clearRect (updateRect);
getFrame()->platformDrawRect (drawContext, updateRect);
} 
I changed the condition to

Code: Select all

if (updateRegionList->rdh.nCount > 0)
and it worked fine, but now I don't know what the consequences will be after the change ... Or maybe it should be so?
Thanks for the answers and sorry for my english.
Regards.

denis_prophet
Posts: 7
Joined: Mon Mar 27, 2017 8:35 pm

Re: VSTGUI on other hosts

Post by denis_prophet »

This is how it was in VSTGUI 4.3 before refactoring

Code: Select all

if (updateRegionList->rdh.nCount > 0)
{...}
else
{
getFrame()->platformDrawRect (drawContext, updateRect);
}

Arne Scheffler
Posts: 414
Joined: Mon Jun 20, 2016 7:53 am

Re: VSTGUI on other hosts

Post by Arne Scheffler »

Thanks for checking. It's still very strange why this bug happens. It should use the same rectangle in both cases, or the Windows API is broken somehow in the version you're running. Do you have the possibility to check on another Windows version?

denis_prophet
Posts: 7
Joined: Mon Mar 27, 2017 8:35 pm

Re: VSTGUI on other hosts

Post by denis_prophet »

Thanks for your reply. If I have the opportunity to test on other machines, I will report the result.

Post Reply