Melda Product Plugins (and others) Have Blank UI

On macOS (tested on 10.14.3), a fair number of plugins now seem to have problems with their UI. Melda Production is a good example of some free ones.

The UI appears black.

They work in an older version of JUCE. I’m not sure of the exact one but Waveform 9 works and was built with this version of JUCE 8deef0b

It’s not due to anything that has changed in JUCE - the problem only occurs when building a host against the 10.14 macOS SDK and hosting plug-ins that use OpenGL. I’lll look into this a bit more but I’m not sure if there’s anything that we can do in JUCE, if you look on StackOverflow there are quite a few reports of black OpenGL windows on Mojave.

1 Like

Thanks Ed, I had feared this. In wonder if we can just build against an older SDK.

Yeah building against 10.13 seems to fix it.

For reference, here’s a fix for a similar issue in GLFW (which I use in another project not using JUCE), might be of help for solving this?

1 Like

Interesting, thanks for posting that. I’m not sure that there’s much that we can do as a host though as this would need to be done in the actual window that is rendering the OpenGL, which we don’t control.

1 Like

Yes, that does seem to fix it.
Can anyone think of any problems with using the older SDK? Seems like a very un-Apple approved way of building things…

FYI, according to my tests (internal framework, not Juce) and some of my clients, building with XCode 10.2 and running under 10.4.4+ fixes the OpenGL issues.

Apparently Apple have fixed / reverted some changes related to OpenGL / Cocoa layer handling,
although there is no mention of this whatsoever in the release notes, as is often the case with them :face_with_raised_eyebrow:

2 Likes

Not sure what I’m doing wrong, but I’m still getting a blank Melda plugin window.

Mojave 10.14.4
Xcode 10.2.1
JUCE develop tip

I build AudioPluginHost against any base SDK (10.7 - 10.14) and their plugins are blank.

?

Are you certain that you’re using an older SDK version? What does the “Base SDK” setting in Xcode’s “Build Settings” tab show?

Yeah, I had to manually copy the 10.13 SDK in to the Xcode 10 app bundle to get it to actually build against the 10.13 SDK. Simply changing the setting in the PJ isn’t enough.

3 Likes

Yeah it’s not a very easy process. You need to download a version of XCode which comes with the version of the SDK that you want to use from https://developer.apple.com/download/more/ and then copy it across from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.x.sdk into your current Xcode’s contents.

You may also need to edit the .plist file located in /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Info.plist and change the MinimumSDKVersion if you want to use earlier SDKs. Otherwise Xcode will just say that it can’t find the SDK, even if you have it in the correct folder.

1 Like

That worked. I was assuming that just changing the base SDK in Producer would do it.

I’ve been doing some digging around for some other SDK-related issues. Here’s the SDK version used by a selection of DAWs:

Bitwig: 10.12
REAPER: 10.12
Live: 10.11
Logic: 10.13
Pro Tools: 10.11

Interesting stats. Looks like 10.13 is the last stable SDK (which we build with).

I wonder if Melda (and others) have updated to support SDKs later than yet… I’m not quite sure what would be involved but might be that they are just building against an older, incompatible SDK.

The latest release of the Melda plug-ins work correctly in a host built against the 10.15 SDK. Plug-in makers need to work around some OpenGL problems:

Bitwig 3.1 (released today): 10.13