I am porting from 4.3 to 4.8 (by updating to the latest VST3 SDK, 3.6.13, from 3.6.6), and am encountering an issue on my HiDPI monitor in Studio One. The whole plugin window and its contents are huge. This used to work fine with my old 4.3-based version, but now is acting as if it is both using my double-sized graphics (as specified in the uidescription file), AND scaling up by a factor of 2. Any ideas why this might be the case, when I’m using the same version (4) of Studio One in both tests? (The same plugin works fine in Cubase 10.)
Strangely, my AU build (using the same VST3 code, wrapped using auwrapper) shows up correctly in Studio One, at the expected size. And this only happens in Studio One (of the Mac VST3 hosts I’ve tested in so far).
Check if the method setContentScaleFactor() is called and what is happening then.
It looks like open() has not been called yet when setContentScaleFactor() is called, so getFrame() returns NULL, and the scale factor is not passed on to the frame. I assume that is why this is not working as expected. Which is unfortunate, because we tell users to use the VST3 version in StudioOne instead of the AudioUnits version, due to other issues (related to automation and exposed non-automatable parameters, if I recall). Not sure what I can do here. Maybe override setContentScaleFactor to save the scale, then add a call tp setContentScaleFactor() inside our didOpen() function to make sure that value is passed on?
Shoot. That doesn’t work, because setZoom() checks if setSize() returns true before applying the new scale factor, but setSize() returns false because the size isn’t seen as changing at this point. That causes setZoom() to not apply the new scale factor, so my window still shows up twice as big as it should on a HiDPI display. No idea how to proceed now.
I sent an email to someone at PreSonus, to see if they have any insight into this. If there is no resolution available, then I’ll have to revert back to VST GUI 4.3. Is anyone else seeing this happen with 4.8 in Studio One?
How about the examples of the SDK? Are they also scaled wrong?
I haven’t tried that yet. It will need to be AGainSimple, since I am using the SingleComponentEffect class. I’ll try to get that one up and running and see.
We decided to roll back to 3.6.6, since this is just a minor release of our plug-in, and we’ve had a couple of other strange issues with the new SDK and our (very) old code. Doing so fixed several issues, and will allow us to release asap. We’ll update to the new SDKs when we do a complete rewrite (using JUCE this time). Thanks, anyway!