I’m working on using JUCE as the implementation of a P/Invokable DLL to be used from a Unity app. So I’m familiarizing myself with AudioDeviceManager, AudioProcessorPlayer, and AudioProcessorGraph as my main DLL is not going to be a ContentComponent (e.g. no UI). I’m just using JUCE as a sound engine basically.
I have a modified version of the “Processing Audio Input” JUCE tutorial that works with the Windows Audio (e.g. default) device, using an AudioProcessorGraph for the input-to-output routing. This all runs fine on my FocusRite Scarlett 2i2 external USB interface:
But it has minimum latency of 144 samples and I can hear audible latency when tapping the mike. So I wanted to try both WASAPI exclusive mode and ASIO.
I did that in this branch:
The problem is that with either “Exclusive” or “ASIO” as the matchString (e.g. as the selected device), I get a maxInputChannels of 0. It’s as though neither WASAPI Exclusive nor ASIO devices can connect to the inputs, or even detect that there are any.
TL;DR: why would WASAPI normal mode show two input channels, but WASAPI exclusive and ASIO both show zero?
Thanks for any info whatsoever,