I have only 80 points, that makes a "poor" guy ask only "easy" questions :-)
I am working on a multimedia program.
In the program I show some mixer controls for recording/playback. However, when there are multiple mixer devices in the system, I want to show the mixer controls for the current user selected recording/playback devices.
Here is an example, I have two mixer devices, the mixer API mixerGetDevCaps()lists them as
1. ESS AudioDrive Mixer
2. Videum Audio Mixer(0)
Under System/Setting/Multimedia Properties/Audio user can also choose Playback or Recording devices, they are listed as:
Playback, Prefered device:
1. ESS AudioDrive Playback
2. Winnov Videum Wave Playback
Recording, Prefered device:
1. ESS AudioDrive Record
2. Winnov Videum Wave Record
If the user selects ESS AudioDrive Playback, then I need to show speaker volume for mixer ESS AudioDrive Mixer. Same for the recording.
I figured out that when you click on System/Setting/Multimedia Properties/Audio/Playback or Recording, the selected Playback/recording devices are stored in the registry under CU/software/microsoft/multimedia/sound mapper.
However, I cannot match up the Playback/Recording device names with the mixer device names returned by mixerGetDevCaps() API.
P.S. I also tried to enumerate thru the CLSID_AudioInputDeviceCategory device list. It didn't help, because the list differs from mixerGetDevCaps()API, and the order of the devices also changes based on the user's current selection.
Any help is appreciated.