After I did a merge of of the latest Juce code into my codebase and I found that the 32-bit VST3 version of my plug-in has a blank GUI. I figured this must be just a bug with my plug-in because didn't any mention of it on the forums, but after messing around for a while I found I could repro the problem with the Juce Demo Plug-in.
I think what's going on is that the old VST/VST3_Wrapper.mm code used to have all of the same function names, so what happened was that it would use the VST2 versions (verfied that in the debugger). Then in the following commit the functions were renamed so the VST and VST3 versions are distinct, but now this caused the VST3 plug-in to use VST3_Wrapper.mm code but that appears to be broken for 32-bit builds.
Commit: 98ebfdc1fab08ce7103361cf837a91afe2d56651 [98ebfdc] Parents: b7bca8ce5a Author: hogliux <fabian.renn@gmail.com> Date: September 4, 2015 5:16:52 AM PDT Fix some warnings in the VST/VST3 wrappers
If I just rename the fucntions in VST3_Wrapper.cpp to use the VST_Wrapper.mm then it works. I'm still puzzled how this ever worked, becuase there should be a name colision build failure.
I'm also seeing a bunch of leaked memory asserts in my plug-in and the Juce Demo PlugIn when use the 32-bit Plug-in Host. If the plug-in GUI window is never opened then the leaks do NOT occur. I haven't tried the 64-bit version.
Anyone else seen this?
*** Leaked objects detected: 1 instance(s) of class OSXTypeface JUCE Assertion failure in juce_LeakedObjectDetector.h:95 *** Leaked objects detected: 1 instance(s) of class Typeface JUCE Assertion failure in juce_LeakedObjectDetector.h:95 *** Leaked objects detected: 1 instance(s) of class ContentWrapperComponent JUCE Assertion failure in juce_LeakedObjectDetector.h:95 *** Leaked objects detected: 1 instance(s) of class OwnedArray JUCE Assertion failure in juce_LeakedObjectDetector.h:95 *** Leaked objects detected: 1 instance(s) of class TypefaceCache JUCE Assertion failure in juce_LeakedObjectDetector.h:95 *** Leaked objects detected: 1 instance(s) of class TimerThread JUCE Assertion failure in juce_LeakedObjectDetector.h:95 *** Leaked objects detected: 1 instance(s) of class Thread JUCE Assertion failure in juce_LeakedObjectDetector.h:95 *** Leaked objects detected: 3 instance(s) of class WaitableEvent JUCE Assertion failure in juce_LeakedObjectDetector.h:95 *** Leaked objects detected: 1 instance(s) of class LookAndFeel_V2 JUCE Assertion failure in juce_LeakedObjectDetector.h:95 *** Leaked objects detected: 1 instance(s) of class LookAndFeel JUCE Assertion failure in juce_LeakedObjectDetector.h:95 *** Leaked objects detected: 1 instance(s) of class DisplaySettingsChangeCallback JUCE Assertion failure in juce_LeakedObjectDetector.h:95 *** Leaked objects detected: 1 instance(s) of class Desktop JUCE Assertion failure in juce_LeakedObjectDetector.h:95 *** Leaked objects detected: 1 instance(s) of class ComponentAnimator JUCE Assertion failure in juce_LeakedObjectDetector.h:95 *** Leaked objects detected: 1 instance(s) of class OwnedArray JUCE Assertion failure in juce_LeakedObjectDetector.h:95 *** Leaked objects detected: 1 instance(s) of class MouseInputSource JUCE Assertion failure in juce_LeakedObjectDetector.h:95 *** Leaked objects detected: 1 instance(s) of class MouseInputSourceInternal JUCE Assertion failure in juce_LeakedObjectDetector.h:95 *** Leaked objects detected: 1 instance(s) of class OwnedArray JUCE Assertion failure in juce_LeakedObjectDetector.h:95 *** Leaked objects detected: 5 instance(s) of class AsyncUpdater JUCE Assertion failure in juce_LeakedObjectDetector.h:95 *** Leaked objects detected: 1 instance(s) of class Component JUCE Assertion failure in juce_LeakedObjectDetector.h:95 *** Leaked objects detected: 1 instance(s) of class MouseCursor JUCE Assertion failure in juce_LeakedObjectDetector.h:95 *** Leaked objects detected: 2 instance(s) of class JuceVST3Editor JUCE Assertion failure in juce_LeakedObjectDetector.h:95