The documentation for AudioDeviceManager::AudioDeviceSetup::outputDeviceName states:
The name of the audio device used for output.
[…] An empty string indicates the default device.
However, setting an empty string actually chooses “None” (no output at all) rather than the default output – at least on my CoreAudio system. Same thing for inputDeviceName.
Is this a bug or a documentation error or is there something else that I have missed?
I think this is a mistake in the documentation. After a bit of investigation, I think that empty names are only interpreted as defaults when calling AudioDeviceManager::initialise. In other contexts (get/setAudioDeviceSetup), an empty device name means that the device is closed.
We’re currently only pushing high-priority bugfixes to develop, with the intention of pushing a bugfix release to master in the very near future. I expect that this documentation fix will reach develop shortly after this bugfix release.