juce-framework / JUCE

JUCE is an open-source cross-platform C++ application framework for desktop and mobile applications, including VST, VST3, AU, AUv3, LV2 and AAX audio plug-ins.
https://juce.com
Other
6.48k stars 1.71k forks source link

Korg Gadgets VST plugin UI vanishes on OSX #614

Open seb-nektar opened 4 years ago

seb-nektar commented 4 years ago

Steps to reproduce:

  1. Load any of the Korg Gadget VST plugins in a JUCE-based plugin host on OSX
  2. Open the plugin UI window
  3. The plugin UI is visible for a split second and then vanishes

This was also reported in the JUCE forum.

We debugged this issue a bit further and could find some indications what causes the problem:

VST2 plugin UI creation starts from juce_VSTPluginFormat.cpp and the instantiation of a VSTPluginWindow. This contains a AutoResizingNSViewComponentWithParent object which itself has a timer that resets the child view 30ms after creation. The timeout is exactly the time it takes until the KORG plugin UI vanishes. Removing the timer resolves the problem. But I suspect the timer is there for a reason...

Looking into the related code with git blame showed that the `AutoResizingNSViewComponentWithParent´ helper class was modified in commit 7c0d0ae. Most notably, the explicit setting of the child size has been removed. Maybe that could also be related to the problem we encounter with the KORG plugin.

mfisher31 commented 4 years ago

I have several reports of this exact same thing in my JUCE based hosts.