New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Zoom error in Cakewalk by Bandlab (also Sonar Platinum) #816
Comments
Oh that screenshot is super useful. A very different type error in that it is just the clip rect which is wrong. It is still a problem but a different one than I thought you had meant. |
It's probably a CbB error. |
There’s an xml in your documents surge called surgedefsults.xml or something. Try deleting that? |
Before anything else. I can use it fine on my Win7 CbB. It has lower resolution and is ok to work in without zoom. |
Question - Is the default window size of Surge 240X400? I found those decimal values associated with something called cxEditor and cyEditor in windows registry about Surge vst3. It was zero as vst2. |
Surge doesn't use the registry for anything. That must be something else writing that! The sizes at 100% are
|
CakeWalk by BandLab is available free on windows https://www.bandlab.com/products/cakewalk So you can download it into a VM and test this behavior there one day! |
I'm not a programmer so i can't say if this is useful to you or not, but here we go. |
I can confirm this behaviour on win 10 64 bit using Cakewalk by Bandlab, doing a right-click to zoom in on surge results in the top screenshot with no recourse except to close and reopen the project only it seems, not even the entire program.
|
And after further inspection it seems none of the zoom options work, they all result on the overlapped larger zoomed but cropped image like OP. |
Yes zoom is clearly broken in this host. We really could use a windows dev to help us debug it. Do you have any windows dev experience with vsts or know colleagues who do? |
I would love to assist and I do love this synth, thank you! However I fear my skills might miss the mark, I am familiar with node/js mostly, I would be willing to have a crack at it/at least take a look, if I was pointed in the right direction roughly, and I do have a colleague I could ask too depending on the language utilized. I have some win experience so happy to at least check it out. And I would like to get more experience with VSTs so :) |
Great; it’s all c++ and vstgui. Lemme see if I can get some time this weekend to write imup my thoughts on what’s probably happening |
So what I think is happening is this:
So you end up with, like, a 1400x900 window with a 1400x900 VSTGUI CFrame but inbetween is some bandlab widget which is size 900x700 and that causes the clip. So I think the solution is something like this
And perhaps voila you are good. I’m not sure but if I was setting out to solve this that’s how I would start. If you’ve done any win32 C++ programming I don’t think it is that hard. Last time I did win32 C++ programming was around 2008 though, and not exactly looking to re-live the experience! Appreciate your enthusiasm! If you and your friend want to look we would love the pull request. Shouldn’t be anywhere outside of src/vst2 and should all be in a #if WINDOWS block. So fairly low risk especially if we get the identifier right. Oh and if we do get the identifier that means we can shut off zoom in VST2 for FL (where it doesn’t work at all) which would be nice! Thanks; hope this helps! |
OK I spent a bit of time debugging this. It isn't what I thought. Cakewalk for Bandlab uses the VST3 and it seems to me has mis-implemented the VST3 resize api. I return "true" from canResize; I call resizeView with the right size; and then Cakewalk calls back my onZoom with the original size. This is incorrect behavior according to the VST3 docs. I'll figure out host detection and just disable surge zoom for this host. |
Cakewalk by Bandlab interacts with the VST3 zoom API in a way which doesn't match the documentation in the VST3SDK; after calling resizeFrame it calls back onSize() with a smaller frame even though canResize is true; and even though it has grown its window. So to avoid broken UIs disable Zoom in this host in Windows. Closes surge-synthesizer#816
Alright I'm going to do the unsatisfying push now of disabling zoom for this host on Windows. I have that working. As far as I can tell, the host is buggy in its interaction with the VST3 zoom API. If someone who maintains the host would like details beyond this ticket I'd be happy to share what I saw. And if someone has loads of experience with VST3 resizing in Cakewalk and wants to take another shot happy for them to do that. At least now users won't be able to get in a broken state with the synth. Will close this issue when I sweep to the nightlies. |
Cakewalk by Bandlab interacts with the VST3 zoom API in a way which doesn't match the documentation in the VST3SDK; after calling resizeFrame it calls back onSize() with a smaller frame even though canResize is true; and even though it has grown its window. So to avoid broken UIs disable Zoom in this host in Windows. Closes #816
Thank you for the attention Paul, and detailed info above, pity it wasn't as easy as initially thought. That being said, unfortunately, my colleague is somewhat touch and go at the moment regarding his availability but I will however keep an eye on the tracker and jump in when I see something I can assist with. And in the meantime get more familiar with VST design. |
Yeah this one would have been impossible to fix I think; it is a bug in cakewalk as far as I can tell. I appreciate the look though, and at least now users of this DAW can't break their session, even though they don't get the zoom feature. Appreciate your help! |
Cakewalk by Bandlab interacts with the VST3 zoom API in a way which doesn't match the documentation in the VST3SDK; after calling resizeFrame it calls back onSize() with a smaller frame even though canResize is true; and even though it has grown its window. So to avoid broken UIs disable Zoom in this host in Windows. Closes surge-synthesizer#816 Former-commit-id: f2e754e05179bce9810019ab5468771a45252a7d [formerly a52b7d9] Former-commit-id: 27dd82a384899acd7935a5a3f7d2e6a092ae9c6f Former-commit-id: 15863b7c53b4831a8a4ee558b3a28a78362543cb
I'm using Cakewalk by Bandlab on a win 8.1 64-bit machine.
First install of Surge 1.6.0-beta-8 i selected vst3 only. Install went fine. CbB picked it up and away we go. Sounds ok. Ui responds to mouse and i can move sliders and select stuff.
I had to make the ui bigger. It took me rather a long time to discover the text "menu". It was so little and sort of melted in with the background like a cameleon.
Didn't know what size i needed so i tried 200%. Surge gave a message about it being too big and suggested to make it as big as it could be. I clicked ok.
WHAT happened was that the vst gui went bigger like 150% but Surges ui was cropped and only showed 100% of the 150% it ought to show. See below. The menu was in the bit that been cropped so i deleted the track and inserted Surge as a new track. That gave me back the full "mini" Surge. Tried different zoom options but nothing worked.
Installed it once again on top of earlier install but this time i also checked to install the vst2. Install went fine but it didn't change anything.
Fired up Reaper and Surge zoomed to 150% without any problem.
Also tested on a win 7 64-bit machine. CbB couldn't handle zoom on that either.
The text was updated successfully, but these errors were encountered: