AudioIODevice getTypeName by index?


Hi Jules,

I’m trying to sort out the available devices, so all ASIO devices are displayed, but only the “Primary Sound Device” from DirectSound.

The reason for this, is that i have each In/Output of the Soundcard displayed as a directsound device, but they’re not usable unless they’re selected through the “Primary Sound Device” - so it’s a bit confusing to the user.

So i was wondering if it is possible to somehow get the type of each available device by index.

Or perhaps someone has an idea how i could remove the useless ds devices without removing any ASIO devices.



Basically, what he would need would be a new function:
StringArray AudioDeviceManager::getAvailableAudioDeviceTypes()
which would list the types (ASIO, CoreAudio, DirectSound) for the available AudioIODevices in the right order.

Even better would be AudioDeviceManager::getAudioIODevice(int index), so one could retrieve the AudioIODevice by index, and ask it its type and also its buffersizes and so forth. Not sure if that would work though, because maybe therefore the device has to be initialized, which could lead to those dirty Dialog Windows for ASIO Multimedia drivers.


There already is a method getAvailableDeviceTypes(). There’s also a virtual method createAudioDeviceTypes() that lets you control which device types it uses - does that provide a way to do what you need?


thanks for the hint jules, that will help me with my issue.