I’ve just checked in a bunch of changes to the way audio devices work, that allow you to mix + match pairs of devices in ways that you couldn’t before.
So with DSound or CoreAudio, you can choose separate devices to be the inputs and outputs. I’ve also beefed up the device selection component with a ‘test’ button and a little input level meter.
So if any guinea pigs out there want to test it, I’d love some feedback! It’s very new code, so no guarantees that it’s bug-free!
Thanks for the quick response. I tested and this helped a lot. The store/restore now works.
Playing around with the AudioDeviceSelectorComponent I made the following observations:
A bug in AudioDeviceSettingsPanel::changeListenerCallback(…) probably introduced with copy and paste (I do make them myself from time to time)
if (setup.maxNumInputChannels > 0
&& setup.minNumOutputChannels < setup.manager->getCurrentAudioDevice()->getInputChannelNames().size())
should have been
if (setup.maxNumInputChannels > 0
&& setup.minNumInputChannels < setup.manager->getCurrentAudioDevice()->getInputChannelNames().size())
It would be nice to be able to control whether to use stereo pairs or not in the device selector. As is this is controlled by the hardcoded state of the boolean flag useSteroPairs in AudioIODeviceType::DeviceSetupDetails. Control could be either through a checkbox in the device selector dialog or in its constructor or something else.