PaulStoffregen / Audio

Teensy Audio Library
http://www.pjrc.com/teensy/td_libs_Audio.html
1.07k stars 398 forks source link

Fix/io inits #438

Open h4yn0nnym0u5e opened 2 years ago

h4yn0nnym0u5e commented 2 years ago

As noted on this forum thread, from about here on, there can potentially be an issue with poor ordering of initialisation of audio I/O objects. The thread specifically mentioned the PT8211_2 object, and a change "sneaked in" in PR #436 seems to work OK.

I've been through most of the relevant objects and made them consistent, with the best (I believe) ordering being:

There's no obvious reason why this should be any worse than the previous cases, what I've managed to test to date suggests nothing is broken, and it ought to serve to reduce instances of audio hardware mysteriously not working occasionally.

One caveat - I haven't managed to implement this for the AudioOutputPWM object, because I don't understand the code! I've PMed the most recent author @MarkTillotson for help.