You create two MemoryMappedReaders. Map booth of them. one in the audio thread and one in your poker thread to get the samples ready at sourceSamplePositions . map the entire files for booth.
now your audio thread can grab samples safely with its reader while your poker thread can get them in os memory with its own reader
If you look at the demo sampler plugin they have a callback sample reader changed if you implement those value tree functions that’s where you can kind of figure out how to set up the poker thread each with its own unique ptr type
