I have not followed the whole discussion completely, I’m chiming in just to bring to the attention that already exists a CriticalSection that is locked when processBlock() is called, and it can be obtained with AudioProcessor::getCallbackLock().
Just in case it went unnoticed, in order to avoid @JanosJuce the need to reinvent the wheel for that part.
Thank you, good to know that, in fact, I would have reinvented the wheel in this case
Another question that came up to my mind in the context of loading files on a background thread: As in all my testings on my MacBook all files loaded super quickly until now, is there any possibility to artificially slow down file reading on OS X? So that there would be some way for me to simulate the situation of a slowly responding drive and get an impression of the user experience in that case?