rncbc / qtractor

Qtractor - An Audio/MIDI multi-track sequencer
https://qtractor.org
GNU General Public License v2.0
509 stars 88 forks source link

VST3 drag-to-zoom infinite loop in Surge? #285

Closed baconpaul closed 3 years ago

baconpaul commented 3 years ago

Hi

We've been cleaning up the surge zoom codepath since we had several hosts which had problems. We now have, we think, all of them working but I think we've stumbled across a qtractor bug.

building qtractor at b65fd51 and surge at the tip of main today with the VST3 I see the following

  1. If I open surge and change its size (right mouse on the "zoom" button and choose 150% or something) everything works. Great. Your onSize / resize response has no problem for fixed sizes. But

  2. If I grab the corner of the window (which calls our onSize where we respond with the corrected aspect ratio) you get what appears to be an infinite loop. Like: Sometimes it hangs my VM in x-land.

I haven't looked inside qtractor but I do wonder if perhaps you have a problem with VST3 which respond to a resize event with a different size than you handed it.

We've tested in a bunch of hosts (reaper, bitwig, cubase, FL, ardour, live, juce plugin host) and it seems only qtractor has this hang now (used to be more hosts did but we had an infinite loop problem too which we have fixed at the top of our codebase).

Any thoughts? Anything I can do to help?

Thanks so much!

rncbc commented 3 years ago

hi, thanks a lot for reporting this.

it might be something on newer surge codebase, as I'm still on a previous one (dated as late as Sep 30 and I really can't make it reproduce the so called infinite resize loop as you report.

I'll try to update to latest git masterand build anew Surge.vst3 . let's hope I can repro the trouble until then, cheers.

baconpaul commented 3 years ago

Yeah turns out we were not supporting the full VST3 spec and that broke a bunch of hosts. Now we do our quantized zooms work in qtractor but the drag-to-zooms do not.

But I get a super-hard-hang. Like can't attach a debugger need to reboot my VM. Clearly something has gone nuts.

(I'm also happy to dig in of course. Just wanted to know if you had any ideas first).

And thanks!

rncbc commented 3 years ago

just to let you know, this is what I'm up to at this late, and can't get any trouble out of it while changing zoom-sizes or dragging the window borders around: qtractor_surge-1.8.main.baec8721 puzzled. cheers

baconpaul commented 3 years ago

Well that is wonderful news. For me the zoom drags break me every time but the menu resizes work. But perhaps the problem is mine then in my qtractor build.

Sorry for the noise and thank you so much for looking. Lets close this and if I get something more concrete I'll reopen.