Juce-made 32-bit VST2 plugin GUIs have unusual behavior in Max 7 on Mac OS 10.12


Hey everyone, I’m still learning the ropes of Juce development, and searched the forums without any luck in finding an answer to my specific issue.

Any plugin I’ve tried to build as a VST2 plugin, including the GainPlugin Demo, will cause the GUI to be offset with no title bar, and will ultimately crash the host when I quit Max 7 (Max 6 as well). I’m focused on supporting universal builds on the Mac side, and have been running Max in 32-bit mode.


I’ve tested older plugins that were built with older versions of Juce, as well as several other older plugins on the same host, without any issues.

I’m developing on Xcode 9.2, on MacOS 10.12.





So in this particular case the host would be responsible for creating and managing the plugin window right? And even the GainPlugin demo example exhibits this behavior.

I responded to that same post before, but since then have found several older 32-bit plugins to work properly since then on Max 7.


The host creates the plug-in window.



Sorry this isn’t clear to me, according to this post:
How to use native-OS titlebar for plugin editor window

I don’t have any control over the title bar appearance or placement in a plugin correct? Sorry if I’m missing something.


Right… the Host (Max) creates the plug-in window… and loads the plug-in into it.



Yes, so if I can’t do anything about the title bar from the plugin perspective, how do I fix it? Or is there a bug in Juce causing this behavior?


Are you using the latest version of juce?


Yes, latest downloadable version from the website, 5.3.2.


OK, please make sure you’ve checked the tip of the develop branch before reporting bugs - I think Ed has been doing some window positioning stuff recently which could be related.


Does this only happen with 32-bit VST2s?


Thanks Jules, I’ll try that.

ed95, As far as I can tell yes, I only observe the behavior for 32-bit builds. 64-bit builds seem to work fine when I run Max in 64-bit mode.


Okay so I checked out the latest develop branch commit and built Juce. Tried building the GainPlugin demo again and I’m still observing the same behavior.

I tested on Max 7 32-bit and there was no crash, but I can only send open/wclose messages through Max to control the window.


So I recently tried making the GainPlugin example window resizable. I finding that when I load and resize the window manually, the GUI will snap back into the correct position within the window frame. This is based on building the project with the develop build of the projucer.