I'm seeing the same issue. Maybe it's a global count, i.e. all the feedback those individuals have sent for all the apps they are beta testers for? Would be good to find out what's actually going on.
Post
Replies
Boosts
Views
Activity
Yes, it is already part of iOS 14 and macOS 11. If you search for "Workgroup Management" and look at the APIs you'll see it under Availability.
On macOS AUv2 is still going strong and in fact, hardly any DAWs support AUv3 (on Mac) unfortunately. So, I think AUv2s will be around for a long time.
Pretty sure IAA is going away though.
@Hecot, I was trying to use kAudioUnitParameterFlag_MeterReadOnly earlier the same way you described above and it wasn't working. Calling AUParameter.value wasn't triggering implementorValueProvide. So, after googling I came across this post. I guess it's clearly a bug. Kind of crazy that this wasn't found after 5 major releases of iOS. I guess no one reported the issue to Apple up until you did.
Update: what I said above was tests on iOS 13.6 on my iPad Pro. Later on, I tested it on the iPadOS 14 (beta 2) simulator and I can confirm it works as expected. Would be good to get a confirmation from someone who is running the iOS 14 beta on their devices.
Would love to know what the state of AUParameterTree recreation is on the latest iOS. Might need to start using it later on. I'll report what I find.
Yes, I've experienced the same thing. Looks like GarageBand for iOS doesn't support iOS 13 userPreset APIs. Only AUM does AFAIK.
And yes, it's best to match both name and number before trying to load a preset. If the name doesn't match also, then don't load any presets and just display the title provided by the host in your AU (if your AU supports displaying preset titles). The host will pass you fullState to be loaded anyway.
On further testing, it seems, the version number is irrelevant. Looks like OS picks the extension with the latest creation date of the binary.
This is still a guess though. Would be good to get some sort of a confirmation from Apple regarding this.
This month I got charged $50. And I'm with CBA. Haven't called the bank yet to find out.
When I complained to Apple Dev Relations about the $25 fee, last year December, I received the following from the them:
You should have received a communication Feb 1 stating that all payments into AU and NZ bank acounts will be wire transfers. Your minimum payment threshold is $150 USD and we are unable to change that amount at this time. You may want to shop around for a bank that promises low or no wire fees. I'm not sure if there's a way to get around this. $25 is a lot, but $50 seems insane. I'll try to talk to banks to see if they can do something. And what's worse App Store Connect doesn't let you consolidate several months into a single payment.
I think it might be a good idea to file a radar for the issues you listed. From what I can see Apple engineers don't check these forums regularly.
Looks like the app extension needs to have this entry in its entitlements file:
<key>com.apple.security.app-sandbox</key>
<true/>
The AUv3 now loads and works in Reaper, but it looks like I have other auval issues to deal with before it will load in Logic Pro.
To benefit others and my future self, I thought I'd list some of the others issues I had to deal with when trying to bring AUv3 to Mac using Catalyst. Most of the issues I had to address was due to auval not liking something and hence Logic Pro using that as a reason not to list my plug-ins. Here we go:
It's better to explicitly report supported channel configurations. If you support things like side chain etc. Just override - (NSArray<NSNumber *> *)channelCapabilities in your AU subclass.
fullState requires you to report to provide values for "type", "subtype" and "manufacturer" in the dictionary. I have a custom implementation of fullState and wasn't setting these values.
Last thing that drove me nuts was that, during auval runs, my AU extension would crash but the auval would report as this:
Checking parameter setting
Using AudioUnitSetParameter
Using AudioUnitScheduleParameter
ERROR: -66745 IN CALL AudioUnitRender
Turns out auval seems to be sending parameter address that's garbage value Not sure if it's intentional or not. But it does it 8 times.
Initially, I thought there was a bug in my code. But the same thing happens in the Apple's sample code I mentioned in the original post. You can reproduce this yourself, just paste this code inside the internalRenderBlock method and watch the debugs in Mac's Console app:
#import <os/log.h>
///...
auto event = realtimeEventListHead;
while (event != NULL) {
if (event->head.eventType == AURenderEventParameter || event->head.eventType == AURenderEventParameterRamp) {
os_log_error(OS_LOG_DEFAULT, "AUv3DEMO ParameterAddress: %llu", event->parameter.parameterAddress);
}
event = event->head.next;
}
I used this command: auval -v aufx fltr Demo
In addition to printing out 3 valid parameter addresses, it prints out 2798869411, 10 times. I've now added a check to my code to ensure param address is a valid value.
I've also mentioned this issue on Apple's mailing list: https://lists.apple.com/archives/coreaudio-api/2021/Jun/msg00017.html
If you are trying to do any file access from the audio unit extension, e.g preset import/export, be sure to add the following entry to the extension's entitlements file:
<key>com.apple.security.files.user-selected.read-write</key>
<true/>
Otherwise, you will get exotic crashes when trying to display file access panels (e.g. SwiftUI's .fileImporter()).
If I remember correctly, if you have default/initial value set in your DSP state implementorValueProvider will pick it up and you won't need to set it initial value via AUParameter.
Another thing to keep in mind is that hosts can set AUParameter to a value that's outside the min/max range. So, be sure to handle that.
Apple started publishing the AU SDK on GitHub as of last year, you can find it here: https://github.com/apple/AudioUnitSDK
There's also an examples code repo: https://github.com/apple/AudioUnit-Examples
I got a reply from Apple via DTS confirming it's a bug in Logic. To get the host sample rate from for a MIDI plug-in you are supposed to provide an output bus and then read the sample rate through the format property after allocateRenderResourcesAndReturnError called. And Logic doesn't seem to update the format property. If anyone wants to submit a duplicate the bug ID is FB12042397.
I've also started a Github project to demonstrate bugs or challenges I come across with AUv3s. https://github.com/Nikolozi/AudioUnitV3Experiments/tree/auv3_midi_sample_rate