TheAmazingAudioEngine/TheAmazingAudioEngine — pull request #36 by mipstian (2013-06-10 02:51:00+00:00)
Title: Make message exchanges work on whatever thread the AEAudioController is created in

In my project, I'm using TAAE from a background thread so no TAAE operations (especially loading samples from disk) ever block the main thread. I was getting a lot of "Timed out while performing message exchange" messages in the console. I discovered that TAAE assumes that it's "owned" by the main thread.

With this change, TAAE will keep a reference to the GCD queue it was created in (which might very well be the main queue), and then use that for the things it used to do explicitly on the main thread.

I've tested this at length using my project and everything seems fine, although I'm not using nearly all of the features of TAAE.