Frank,
Jeff
Jeff, if I understand your scenario correctly, you are referring to *inputs* rather than outputs, and wish to have some application control the input gain/mute. I believe Larry was thinking more about output scenarios in his response. By the way, I'm curious what form the application takes. Is it a specialized app for this customer scenario? Is it a self-contained control panel that ships with your hardware?
If my understanding is correct, then there are two points to make regarding Vista:
1. We hope that your driver and internal driver topology is designed so that each separate input appears as a separate audio input device to the OS. These are what we call "endpoints." Endpoints are programmatically accessed through a new mmdevice API. A simple test of this is to observe whether Vista's audio control panel displays a separate icon for each of the inputs.
2. The volume (a.k.a. gain, fader) of an input can be controlled through a simple interface directly activated on the mmdevice endpoint that represents a particular input.
If this seems like the right guidance, we can provide the programming details to you (specific interface names, etc.)
Frank Yerrace Microsoft Corporation
This posting is provided "AS IS" with no warranties, and confers no rights.
-----Original Message----- From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Larry Osterman Sent: Friday, March 10, 2006 9:48 AM To: 'wdmaudiodev@xxxxxxxxxxxxx' Subject: [wdmaudiodev] Re: Mixer API under Vista build 5308
For Vista, the MME Mixer APIs are virtualized; you do not have access to the hardware audio controls.
Our analysis of audio applications indicated that the vast majority of audio applications were using the mixer APIs for volume control and not to access the actual audio topology (although we recognized that there was a set of control panel extensions that needed to access the actual topology). However, when these applications accessed the hardware controls, they messed up audio for all the other apps on the system. So we made a decision that for the benefit of the majority of the apps rendering audio on Vista, we'd present a minimal mixer topology that provided only the controls that an application would need.
Unfortunately, it appears that your control panel plugin requires access to the hardware, we do have replacement for the mixer APIs that allows an application to directly access the audio hardware. If you use the IDeviceTopology API interface, you can directly examine the topology offered by your audio solution and access the controls on that solution directly.
The headers for these new APIs may not yet be available, but they will be available in a Vista SDK update soon(ish) :(
Larry Osterman
-----Original Message----- From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Jeff Pages Sent: Thursday, March 09, 2006 6:53 PM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Mixer API under Vista build 5308
Our sound cards have an output mux node with faders and mutes for monitoring the input lines. A number of our clients in the radio broadcasting industry use these monitor faders under software control in order to mix live audio with software-generated audio such as wave files. I've noticed under Vista build 5308 that these monitor faders and mutes are not appearing in the mixer API, and furthermore calling mixerGetControlDetails and mixerSetControlDetails on the controls that do appear is not passing any calls down to the driver's topology port get/set property handlers.
Is there any way under Vista that these topology nodes can be accessed programmatically from the mixer API (or elsewhere)?
Jeff Pages Innes Corporation Pty Ltd ******************
WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx
URL to WDMAUDIODEV page: http://www.wdmaudiodev.com/
******************
WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx
URL to WDMAUDIODEV page: http://www.wdmaudiodev.com/
******************
WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx
URL to WDMAUDIODEV page: http://www.wdmaudiodev.com/
******************
WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx
URL to WDMAUDIODEV page: http://www.wdmaudiodev.com/