Windows has updated WASAPI to enable low-latency shared audio streams which would be very useful when building JUCE standalone apps! Pete Brown mentioned this in his talk at ADC 2018 talk, but it doesn’t seem like this capability has been added to JUCE yet. There’s a Github issue on the subject, but it doesn’t seem like the changes have been made yet.
I’m happy to go make these changes and get this to happen, but I’m fairly new to COM programming. It looks like in the JUCE WASAPI connector, some funky macros are used to call Windows COM objects using hard-coded strings for class identifiers. Does anyone know how they got the strings which correspond to CLSIDs of Windows classes? If I can find the CLSID for the
IAudioClient3 interface, then it could be fairly straightforward to swap this in, change a couple functions and try out low latency shared mode!
Thanks for your help!