let eq = AVAudioUnitEQ(numberOfBands: 1)
let fullState = eq.auAudioUnit.fullState
eq.bands.bandwidth = 1
eq.bands.bypass = false
eq.bands.frequency = 20
eq.bands.gain = 1
eq.bands.bandwidth // 1
eq.bands.bypass // false
eq.bands.frequency // 20
eq.bands.gain // 1
eq.auAudioUnit.fullState = fullState
eq.bands.bandwidth //Should be 0.5 but is 1
eq.bands.bypass // Should be false but is true
eq.bands.frequency // Should be 40 but is 20
eq.bands.gain // Should be 0 but is 1
The above code can be put in a playground for quick verification. The thing is
that the `fullState` does get applied, because the sound is effected when
running this test in a working AudioEngine. What seems to be broken is that the
band parameters are not updated.
I think GarageBand is broken due to this same issue. To reproduce:
Note that this is on iOS GB, MacOS GB does not seem to have this issue.
Create a new song.
Add a track
Add one of the "Apple" "Audio Unit Extensions" such as "AUDelay" to the track
Change the settings on the effect, like max out all the faders
Now go back to "My Songs" (This will save the song. Which should save the
Upon opening the song and effect again you will see the settings did not save
--- yet they did
If you listen to the effect it seems to accually apply the save, but the
parameters look all wrong. This seems to be the same that is happening with me
in the code above.
If you download a AudioUnit extension app and plug it in the same way in GB it
will work as expected.
I think GB is just saving `AUAudioUnit.fullState` in its "Songs".
Apple's own AUAudioUnits seem to not be updating their parameters.
I guess I am going to file a bug, but I just like to discuss to confirm things.
I would love to get anyone's thoughts.
Thanks in advance,
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (Coreaudiofirstname.lastname@example.org)
Help/Unsubscribe/Update your Subscription:
This email sent to arch...@mail-archive.com