Skip to content
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

Surge's plugin wrapper in FL Studio is re-sizable #1212

Closed
VincyZed opened this issue Sep 23, 2019 · 7 comments · Fixed by #1243
Closed

Surge's plugin wrapper in FL Studio is re-sizable #1212

VincyZed opened this issue Sep 23, 2019 · 7 comments · Fixed by #1243
Labels
VST3 VST3 plugin related issues
Milestone

Comments

@VincyZed
Copy link
Collaborator

VincyZed commented Sep 23, 2019

Bug description
Surge's plugin Wrapper in FL Studio is re-sizable, where it should probably not be.

Surge Version
1.6.2 , VST3, 64 bits.

To Reproduce

ezgif com-video-to-gif

Expected behavior
There shouldn't be the re-size triangle on the bottom right of the Wrapper for Surge, so that we use the integrated zoom options in the plugin instead. (or we could re-size the GUI dynamically, although this is probably much more complicated to do and for another day)

Screenshots

Untitled

Desktop config:

  • OS: Windows 10 x64
  • Host: FL Studio 20.5.1 x64

Additional context
This isn't a major issue, but it's been there since the beginning and I've dragged it by mistake a couple of times in the past. I don't know if it's easy (or possible) to tell the Wrapper that Surge is "not re-sizable" and still be able to use the zoom options, but I've seen other plugins that either have a re-size triangle integrated in their GUIs, or zooming options similar to Surge's zoom options, while the wrapper itself doesn't have that triangle. Also don't know if this is present in other DAWs.

@baconpaul
Copy link
Collaborator

Yeah so I know why but the fix is slightly tricky

Vst3 sets property “can resize” to true because surge can resize and that lets me process the resize events that the zoom control sends. But it also means hosts can if they want try and resize

That will send me a message which I ignore because I have an assumption that the only person resizing is me. That assumption is wrong of course but until now I didn’t know a host which broke it as cleanly as fl seems to. So that’s great!

The solution is for me to more properly implement onsize and sizeconstraints in the surgeguieditor so that when you drag it calculates and sets the zoom properly. And also retains the aspect ratio

I think I’ll end up doing a 1.6.3 release when I get access to Cubase around fixing the vst3 - I can include this issue in that too. It’s too big a change for the point release this week tho.

Thanks as always for the clean report!

@baconpaul
Copy link
Collaborator

Link this with #1219

@baconpaul baconpaul added the VST3 VST3 plugin related issues label Sep 25, 2019
@VincyZed
Copy link
Collaborator Author

VincyZed commented Oct 2, 2019

So after the new dynamic zooming feature was implemented (which is awesome by the way), I saw this bug:

ezgif com-video-to-gif

Closing the wrapper and reopening it gets rid of the empty black area on the right and allows to shrink down again.

Windows 10, FL Studio.

baconpaul added a commit to baconpaul/surge that referenced this issue Oct 3, 2019
The doesn't-fit-screen popup was really counterintuitive when
drag resizing. Just don't size beyond the max in the drag callback.

Addresses surge-synthesizer#1212
baconpaul added a commit that referenced this issue Oct 3, 2019
The doesn't-fit-screen popup was really counterintuitive when
drag resizing. Just don't size beyond the max in the drag callback.

Addresses #1212
@baconpaul
Copy link
Collaborator

Ok the new nightly should have fixed this problem. Can you confirm and if so we can close this issue! Thanks

@VincyZed
Copy link
Collaborator Author

VincyZed commented Oct 3, 2019

So I tested, and yes it doesn't constrain the wrapper re-sizing, which is a great improvement. When extending past the max (which would be blocked before), it just fills the additional blank with black. (I don't know if it's intended that way or not but in case it isn't here you go). Also, I don't know if you have control over the wrapper size itself, but it's possible to put it where (I guess between 2 percentage values or something?) there is still a black outline when re-sizing the wrapper, as seen below.

image

Of course, I'm super happy that this feature works now, the rest is just basically nitpicking at this point! Great job!

@baconpaul
Copy link
Collaborator

The black beyond is intentional yeah.

The little border is because I am being conservative about resize. I can be less conservative pretty easily. I'll look before I close it

Thanks for testing!

@baconpaul baconpaul modified the milestones: Currently Unscheduled, 1.6.3 Oct 4, 2019
@baconpaul
Copy link
Collaborator

Link to #1219

baconpaul added a commit to baconpaul/surge that referenced this issue Oct 8, 2019
We want to make sure in onSize that we only reset our overall
zoom if the pixel size of the UI would have changed. We
were using a zoom factor change of 1% as a threshold before
but now we are using a zoom pixel change of > 1 pixel to
trigger resize on drag.

Closes surge-synthesizer#1219
Closes surge-synthesizer#1212
baconpaul added a commit that referenced this issue Oct 8, 2019
We want to make sure in onSize that we only reset our overall
zoom if the pixel size of the UI would have changed. We
were using a zoom factor change of 1% as a threshold before
but now we are using a zoom pixel change of > 1 pixel to
trigger resize on drag.

Closes #1219
Closes #1212
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
VST3 VST3 plugin related issues
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants