Failing to create AUV3 MIDI Processor

Hello! I’m new to JUCE. After reading and successfully building tutorial and demo projects I tried to make a blank MIDI processor AUv3 plugin.

Here’s my steps:
0) Open Projucer v5.4.5 on Mac OS Catalina 10.15

  1. Create “Audio Plugin” project
  2. Set target platforms to Xcode(iOS)
  3. In the exporters/Xcode(iOS) page of the Projucer:
  • enable Microphone access (I’m not sure why it’s needed for the MIDI Processor, but otherwise the app always crashes)
  • Set Development Team ID to 10 letter code
  1. In the project settings page of the Projucer:
  • Change company name to my full name
  • Change Plugin Formats to be auv3 only
  • Change Plugin Characteristics to be “Plugin MIDI Output” only
  • Change Plugin AU Export Prefix to kAudioUnitType_MIDIProcessor
  • Enable “Plugin AU is sandbox safe”
  1. In the Exporters/Xcode(iOS)/Debug and Release pages set Deployment Target to 13.0

After that I hit “Save and open IDE” to open Xcode version 11.2.1 (11B500)

In the IDE there are few issues that won’t let my app to run:
a) Even though I entered my team ID, the select box for “Team” in the Signing & Capabilities tab
flashes with read with value “Unknown Name (my 10-digit code)”. Here I have to select (every time I open IDE from Projucer) my team real name to make it working.
b) Since my plugin don’t have audio channels and it is not a MIDI Effect I have to delete “withInput(…)” and “withOuput(…)” busesProperties parts in the AudioProcessor constructor

After that I choose build target to be AUv3 AppExtension and hit run, choosing AUM as an app to run (No other modifications were made to the source code or the project settings)

When AUM starts I don’t see my extension not in “Audio Unit MIDI Processor”, not in “Audio Unit Extension” lists.

What I also tried to do:

  • Adding “Standalone Plugin Format” (Because probably it is required to build a container for the auv3 extension). After building standalone app and then running AUv3 target in AUM I’m able to see my extension in a Audio Unit MIDI Processor lists (Hooray!) BUT it didn’t load.
    In the Xcode console I see following message:
    " 2020-01-19 15:21:52.676200+0300 ForTheForum[20678:7564819] [i-aa] IPCAURenderingServer.mm:48:RS_Initialize: no formats specified"

  • By googling this message I found a lonely thread Freshly made MIDI fx AUv3 crashing on load on iOS which suggests to tick ‘is a synth’ option and then in the Xcode project change the type manually to ‘aumi’. I suppose that I should tick it in “Plugin Characteristics” leaving other options as they are. Doing that changes nothing (same error message in Xcode console).

I’m not sure what should I do to make it working. Looking for any help and can provide zip of a project if needed.

Thank you!

Also I tried to build AudioPluginHost to test my plugin there BUT it hangs right after start with this messages in Xcode console:

JUCE v5.4.5

2020-01-19 16:27:41.075186+0300 Plugin Host[21192:7588141] [i-aa] IPCAUClient.cpp:139:ConnectToRegistrationServer: IPCAUClient: can’t connect to server (-66748)

2020-01-19 16:27:41.768539+0300 Plugin Host[21192:7588141] [Window] Manually adding the rootViewController’s view to the view hierarchy is no longer supported. Please allow UIWindow to add the rootViewController’s view to the view hierarchy itself.

2020-01-19 16:27:41.794968+0300 Plugin Host[21192:7588141] [Window] Manually adding the rootViewController’s view to the view hierarchy is no longer supported. Please allow UIWindow to add the rootViewController’s view to the view hierarchy itself.

2020-01-19 16:27:41.995496+0300 Plugin Host[21192:7588141] Unbalanced calls to begin/end appearance transitions for <JuceUIViewController: 0x11bd1b5b0>.

Message from debugger: Terminated due to memory issue

(lldb)

I found the reason for the error message:
It seems that I should set
" .withOutput (“Output”, AudioChannelSet::stereo(), true )"
even though the extension does not send any audio.