I spent some time on this a few years ago, so I can confirm.
In my auv3 tutorial code I added checks to see if the cached blocks that should have been initialized in allocateRenderResources were nil or not. It worked but it has the feeling of fixing an airplane wing with bubble gum.
Post
Replies
Boosts
Views
Activity
I wrote a series at http://www.rockhoppertech.com/blog/auv3-midi/ a few years ago.
I should update it, but most of it is still valid.
No.
If you want to play on an external device, use AVAudioEngine instead.
Documentation - https://developer.apple.com/documentation/avfaudio/avmidiplayer/
"various examples scrounged from the internet" use a wide variety of techniques, many wrong.
Show how your AUv3 audio unit is playing the MIDI sequence and we can answer.
I don't see a AUv3 forum. People crosspost anyway. Also check Core Audio.
I wrote the tutorial on AUv3 MIDI a few years ago.
This forum prevents me from including a link.
Ask the google for "Audio Units (AUv3) MIDI extension – Part 0: Getting Started"
There are also Github projects mentioned therein.
I've posted links in the past. What's the problem now?
It says "This URL can't be included in your post. Please remove it to continue."
It's for any url/scheme.
This is Still a problem.
How are you creating the event list?
Where is packetList from? Is this your ReadBlock? You get an UnsafePointer pointer there as a param. You can iterate over it via unsafeSequence()
They're focusing on the new MIDIEventList frob now.
@available(iOS 14.0, *)
public func MIDISendEventList(_ port: MIDIPortRef, _ dest: MIDIEndpointRef, _ evtlist: UnsafePointer<MIDIEventList>) -> OSStatus
@available(iOS 14.0, *)
public func MIDIReceivedEventList(_ src: MIDIEndpointRef, _ evtlist: UnsafePointer<MIDIEventList>) -> OSStatus