[wdmaudiodev] Re: Mixer API under Vista build 5308

  • From: "Jeff Pages" <barefeet@xxxxxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Sat, 11 Mar 2006 08:31:04 +1100

Thanks Frank. The controls are showing up correctly and are functional under Device Properties as you described.

My main concern is that our products are targeted at the professional audio market, and many of our customers will be using our cards with broadcast automation and mixing desk software that expects to find these controls through the mixer API, and the loss of this functionality will seriously impact on our business.

Jeff

----- Original Message ----- From: "Frank Yerrace" <Frank.Yerrace@xxxxxxxxxxxxx>
To: <wdmaudiodev@xxxxxxxxxxxxx>
Sent: Saturday, March 11, 2006 8:16 AM
Subject: [wdmaudiodev] Re: Mixer API under Vista build 5308



Thanks for the clarification. So you are concerned with output mixing
rather than input gain control. Larry's response is more correct than
mine, then.

These controls, if represented properly in the hardware driver, should
appear in Vista's mmsys.cpl. If you right-click on the icon that
represents the output, select Properties, and then click on the Levels
tab, the controls should show up here. I realize this is probably not
how you want your customer to access these controls, but this would be a
test of whether the controls are properly represented in your driver.

Larry is correct that a custom app would have to access these controls
through an interface called IDeviceTopology. We expect very few
applications to have a need for this, though.

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 Jeff Pages Sent: Friday, March 10, 2006 12:11 PM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: Mixer API under Vista build 5308

Frank,

Thanks for your response. The faders and mutes I'm referring to are part
of
the output mixer - they allow the input lines to be mixed in with the
output
being generated by the wave output stream. Just about every sound card
I've
seen has a "Line In" fader on its output mixer, by the way, so we're not
the
only ones doing this. In a broadcasting application that comes to mind
(and
these are written by third parties, not us), the line input connects to
a
satellite downlink while the wave output stream is used to insert
commercials and station identification jingles.

A similar application would be a simple "mixing desk" program using the
line
inputs of a multichannel card as the inputs to the desk. Here it's
desirable
to be able to monitor the inputs while queuing audio sources, and also
to be
able to mix multiple line inputs to a single wave input endpoint (which
I
understand from earlier e-mails is also no longer possible under Vista).

Such applications are commonly used by low-budget community stations as
an
alternative to a physical mixing desk.

Jeff

----- Original Message ----- From: <wdmaudiodev-bounce@xxxxxxxxxxxxx>
To: <wdmaudiodev@xxxxxxxxxxxxx>
Sent: Saturday, March 11, 2006 5:57 AM
Subject: [wdmaudiodev] Re: Mixer API under Vista build 5308



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/

******************

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/

Other related posts: