AUv3 - Catalina - UI unresponsive

Hi Folks,

This one is driving me a little crazy!

The Wotja AUv3 plug-in works 100% fine in Big Sur (properly signed, entitlements set-up etc.) (verified on various machines).

However, the AUv3 plug-in UI on Catalina is completely unresponsive. Simply doesn’t respond at all to any mouse interaction. Verified on 3 different machines. Unresponsive with whatever I try, including Logic Pro and the Juce Audio Plugin Host.

Has anybody else seen this?

Any tips?!

Thanks in advance!!

Pete

NB I’m seeing this if I debug auvaltool on Catalina:

2021-03-08 09:42:55.790891+0000 WotjaPro21AUv3[16867:196159] [i-aa] IPCAURenderingServer.mm:145:runIOThread: IPCAURenderingServer@0x600001b7d180: IOThread exiting with error 0x25

Also, when running using Audio Plugin Host I see this:

Unable to create basic Accelerated OpenGL renderer.

Unable to create basic Accelerated OpenGL renderer.

Core Image is now using the software OpenGL renderer. This will be slow.

2021-03-08 09:44:23.221457+0000 AudioPluginHost[16958:197457] warning: <NSRemoteView: 0x102b2f5c0 com.intermorphic.WotjaPro21x.WotjaPro21AUv3.viewbridge ((null)) AUAudioUnitViewService> determined it was necessary to configure <JUCEWindow_740996b1178a2d25: 0x102c256c0> to support remote view vibrancy

That is all very weird, as I’ve not configure the plug-in to use OpenGL.

Pete

1 Like

BTW, I tried reverting the most recent changes to juce_AudioUnitPluginFormat.mm, and that made zero difference, in case that helps.

Pete

I had a hunch, and changed the minimum macOS version for the macOS AUv3 to be 10.15, rather than 10.12; Logic Pro now lets the plug-in pass validation under Catalina. Bonkers.

However, the UI is still locked-up :slight_smile: under Catalina :slight_smile:

Pete

Wow, that was a red herring.

This is where the problem is: looks like a bug for Juce Plug-ins written as extensions for Catalina.

        if (! SystemStats::isRunningInAppExtensionSandbox())
        {
            if (NSWindow* const viewWindow = [view window])
            {
                NSRect windowFrame = [viewWindow frame];
                NSPoint windowPoint = [view convertPoint: NSMakePoint (localPos.x, viewFrame.size.height - localPos.y) toView: nil];
                NSPoint screenPoint = NSMakePoint (windowFrame.origin.x + windowPoint.x,
                                                   windowFrame.origin.y + windowPoint.y);

                if (! isWindowAtPoint (viewWindow, screenPoint))
                    return false;

            }
        }

The call to isWindowAtPoint always fails for my plug-in under Catalina.

Pete

Finally, this is always returning false:

    static bool isWindowAtPoint (NSWindow* w, NSPoint screenPoint)
    {
        if ([NSWindow respondsToSelector: @selector (windowNumberAtPoint:belowWindowWithWindowNumber:)])
            return [NSWindow windowNumberAtPoint: screenPoint belowWindowWithWindowNumber: 0] == [w windowNumber];

        return true;
    }

All rather weird. I can get it all running if I simply always return true from isWindowAtPoint,

@ed95 not sure what to make of all this :slight_smile: but anyhow, to recap - the Wotja AUv3 didn’t respond to any mouse events under Catalina (but was fine under Big Sur…) until I patched isWindowAtPoint. At which point, the UI started working!

Pete

Can you try with the JUCE AUv3SynthDemo plug-in? I’m able to use the UI without any issues on Catalina 10.15.7 in both Logic and the AudioPluginHost when running it in AUv3 mode.

Are you perhaps opening any windows in your plug-in that could be obscuring the main view?

Hi Ed, I’ll try to do that for you. I don’t know if it is because I’ve been testing under a Parallels VM - I’ve not got physical Catlina hardware in the office…

Best wishes, Pete

NB no - not opening any Windows…

Hi @ed95 I’m also running in a 3 monitor set-up, if that is relevant? One Mac Book Pro, two external monitors.