Hi. First, thanks to the authors for making VCV Rack!
I bought the Pro version to use it as an Instrument and FX plugin in Cubase. However, I encountered several issues that made VCV Rack Pro less productive than it could be.
System: Windows 11, 27" 4k monitor, 150% system-wide scale.
Here is the list of issues I encountered:
When I open the plugin, its window size is unpredictable. It’s usually about x2 of the screen size. It takes about 10 seconds of mouse dragging each time I open the plugin to make it size normal.
Sometimes the window size becomes about x4-x6 larger than the screen. In this case, every knob or slider maxes its value when I touch it for a millimeter in any direction. Window resize helps, but it takes another 10 seconds of mouse dragging.
Many plugins I use with the Host FX module have a very small size, but it’s the least important one.
If I use the VCV as a Cubase track insert effect, I’m unable to bypass the plugin in the track inserts section. It’s annoying, the only workaround I found is a bunch of additional routing inside VCV.
If it were the open-source version, I would try to fix window-related issues to submit a PR.
I can’t reproduce the VCV window size issue if the system-wide scaling factor is 100% instead of 150%
It should be simple for developers to get an OS-specific scaling factor and multiply the initial window size. Or add a manual option to configure it in settings.
On Windows with a 4k monitor and 100% scaling factor, any program UI becomes too small and unreadable for any eyes. I think it should be quite simple to fix.
Not a solution, but perhaps a fix. Years ago I ran software to place various windows where I wanted them, but haven’t used it for years. I just did a quick search and there is a tool called Sizer 4.0, but I have no idea if it would work with VST plugin, but perhaps worth a look
Due to the (kinda terrible) way hdpi is implemented on windows a plugin doesn’t quite know the scaling intended. The hosting apis all provide ways to pass scale to the plugin
(Vst2 doesn’t have this, auv2 doesn’t need it, and I don’t know if lv2 does, but I’m also not sure which formats host supports)
I don’t run cubase or really windows and don’t have the source to host but I wonder if that’s not being called and, if you are corresponding with support, maybe that would help them debug
Even with that in place some plugins ignore it or get it wrong. But if a plugin at 125% works in cubase and doesn’t work in host in rack in cubase my first guess would be that host isn’t passing the scale factor along
But if a plugin at 125% works in cubase and doesn’t work in host in rack in cubase my first guess would be that host isn’t passing the scale factor along
It seems you describe the solution for this case: Cubase → VCV Rack VST → VCV Host FX → 3rd party VST2/3
The most annoying issue is another one. This is spending 5-10 seconds for the VCV Rack window resizing each time you open VCV as an instrument/fx in Cubase. I mean this case: Cubase → VCV Rack VST.
Each VCV window open multiplies its size, and if you won’t resize it, the window canvas becomes so big that something completely breaks and even a 1px knob/slider movement in any direction sets the control’s value to its max value.
Again I don’t have Cubase, mostly avoid windows, and don’t have the rack plugin source. But I ran into a similar problem with a plugin I wrote when I interpreted set scale as multiplicative rather than absolute accidentally by applying it to global state.
That is on each call to set scale I would do font.setsize(Font.size * scale) which meant that each time you opened my plugin on a 125 display the fonts got 1.25x bigger. 5 opens and closes and the labels were blown out.
From what you describe it sounds like the plugin is doing the same. Each open is scaling rather than setting scale with the value received from the host.
Just a guess and a moderately uninformed one, but if you are going back and forth with support on this, maybe that guess would help them?