Hi coleagues,
Any progress about this issue?
yesterday, I have compiled (and linked!) a very matured plugin in PC VS2010 and at first glance, it seems to have the same behaviour: the Plugin GUI appears fow a while and suddenly a white sheet covers the whole client area.
OSX 10.7.3
Juce 1.53
XCode 4.3
Gabriel
Edit: Same thing happens with a fresh compiled JuceDemoPlugin. !??!
This problem does continue. My VST development works flawlessly on Nuendo 4 (VST) but I cannot see it in PluginHost app due to the ‘white blanket effect’
I’ve checked in a fix for this now - let me know if it helps.
It was a plugin host issue, not a client one. Not sure why it started happening, I think something must have changed in the latest OSX version that changed the window behaviour slightly. (My fix is a bit of a hack, but then anything involving Carbon support isn’t going to be perfect).
Thanks Jules, I can now see the plugin window. Unfortunately on the mac, if I don’t manually close my own juce-created plugin gui’s before shutdown I’m seeing some crashes on shutdown. If I close the juce-created plugin gui’s first then all is well. The funny thing is I already had a method I added to PluginWindow.cpp to close all open windows (which wasn’t being used anymore), but I tried calling it in app shutdown() and it did close all the windows but the system was still irritated on shutdown. I have to manually click their close buttons first. (Sideline, nice fix for VST string encode btw) - I rue the day you ever look inside my source code. If this software ever makes any money in sales you can expect a call asking for consulting advice in cleaning up the ugly pieces I’ve managed to create!
There are lots of things that can go wrong when hosts shut down without giving plugins time to clear up - the answer is just to make your host close the plugin GUIs first, and then quit. Most hosts will do that.
If I forgot to do that in the plugin host demo, then I guess I should tweak it - but please remember that the project is called the “plugin host DEMO”. It was only ever intended as a quick-and-dirty example to show people how to get started, not to act as some kind of reference implementation that you should expect to be perfect.
Grinning, and got point - but nooo…demo’s of libraries ARE the reference implementations to us simple-minded users!
I would point out that the pre-whiteout version doesn’t do this, but the whiteout fix version does…
How might I go about dealing with this. As it is now the mac version pops up a ‘crash’ report on shutdown, I really need to get a workaround for that one - any thoughts how I might go about that?
I did try closing all the plugin gui’s programatically and followed that with a one second delay, at the end of app shutdown() but that didn’t seem to help. Closing them manually first works however…Dunno why yet.
Let me try a few things before you take a look at this, I’ll get back to you…I need to update the whole codebase to include all your newest changes then try rebuilding everything and see if that solves the problem.
FYI, there’s some crufty old code in that host example - it’s pretty old and could use a serious clean-up. Try not to use it as an example of good practice!
You’re scary good Jules…it’s pretty humbling…But that crufty old code is now built into StageManager, so far so good - and I really appreciate the quick fixes…I end up futzing around at that level and don’t get all that much accomplished (yet), one of these days the forum will promote me but I’m not there yet…
The fix posted by graeme solved the white GUI problem for me - but added another one: plugins are not getting keypress events any more. Any idea what could cause this ?