As you know, for non-PCM formats over a SPDIF output there's not much the PC can do to control volume. I assume your mechanism to set the non-audio bit in the channel status from an application is a private interface. And I assume that this, combined with your button to set all hardware faders to unity, is how you try to ensure that the bits (which the rest of the system thinks are PCM) are not manipulated by volume controls. You can see how this is fragile and, with Vista's per-app volume feature, has even more chance of not working as you hope. If the per-app volume for the app is not unity then the "PCM" bits (which would really be non-PCM in your scenario) will be changed. That said, for special hardware controls we prefer you to create audio control panel (mmsys.cpl) extensions for Vista. These extensions can access the internal KS topology of your hardware driver to expose custom features like a "Set all faders to unity" button. Note that if you expose such a feature, the affect volume control nodes should support the appropriate KS event so that the rest of the system software is aware of the volume level change, and the standard Windows volume control UI can update. Frank Yerrace Technical Lead 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 Daniel E. Germann Sent: Friday, March 10, 2006 5:42 AM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: waveOutSetVolume() under Vista returns MMSYSERR_NOTSUPPORTED On Thu, 9 Mar 2006 05:10:31 -0800, Frank Yerrace wrote... > As Larry said, the wave and mixer APIs on Vista now affect only the > calling application rather than the main volume level. In general we > feel that there is rarely a need for software to affect the main volume > level. Instead, it is directly an end user function. If we can > understand your larger scenario hopefully we can give you better > guidance on how to achieve what you want to do. Hmmm. I can see your point, and I certainly see the utility of the per-application volume settings for consumers. What happens in AC3 or WMA over S/PDIF mode? Is the main volume level automatically forced to unity gain for these audio formats? Our drivers allow the user to manually set the "non-audio" bit in the channel status data to allow playback of DTS/AC3/WMA streams from any application. We also have a "Set all faders to unity" button in one of our device property pages to give the user an easy way to make sure the audio is going through the entire system unaltered. Will there be a way to manipulate the main volume slider so we can continue to provide this functionality? -Dan -- Dan Germann Digital Audio Labs ----- Original Message ----- > Subject: [wdmaudiodev] Re: waveOutSetVolume() under Vista returns > MMSYSERR_NOTS > Date: Thu, 9 Mar 2006 05:10:31 -0800 > From: "Frank Yerrace" <Frank.Yerrace@xxxxxxxxxxxxx> > > I'm sorry it's still not entirely clear to me what your scenario is. > Does your solution have some physical buttons, and are you trying to > write a sort-of daemon that responds to those buttons by changing the > main volume level? Are you writing a program that has a GUI with a > volume slider, and you want that slider to affect the main volume level? > Are you writing a control panel extension for Vista's Audio control > panel? > > > As Larry said, the wave and mixer APIs on Vista now affect only the > calling application rather than the main volume level. In general we > feel that there is rarely a need for software to affect the main volume > level. Instead, it is directly an end user function. If we can > understand your larger scenario hopefully we can give you better > guidance on how to achieve what you want to do. > > > > Thanks! > > > > Frank Yerrace > > Technical Lead > > Microsoft Corporation > > > > This posting is provided "AS IS" with no warranties, and confers no > rights. ****************** 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/