I have some costumers that use several identical sound cards. For some reason, sometimes the order they are numbered changes, so I can’t rely on device names to setup audio devices. To fix that, my non-juce code uses deviceIDs instead.
I want to update my old code to use Juce, but I need to use deviceIDs. To make this possible, AudioIODeviceType needs something like this:
StringPairArray AudioIODeviceType::getDeviceIDs (bool wantInputNames = false)
Returning a StringPairArray with deviceIds and deviceNames.
To create a new AudioIODevice using the deviceID:
AudioIODevice* AudioIODeviceType::createDeviceWithID (const String& outputDeviceID, const String& inputDeviceID)
The AudioIODeviceType classes that support multiple devices already use some kind of deviceID internally. The classes that doesn’t support more than one device could just use the device name as the deviceID.