[wdmaudiodev] Re: Multiple Mixers - Jeff Pages Solved

  • From: "Jeff Pages" <jeff@xxxxxxxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Wed, 25 Oct 2006 09:30:48 +1000

Hi John,

In my inf file I have GUIDs defined in the [Strings] section, for example,

AurGUID.LineInputA      ="{7E180AA0-EDBE-11d4-A8A2-00A0C98DF43B}"
AurGUID.LineInputB      ="{7E180AA1-EDBE-11d4-A8A2-00A0C98DF43B}"
AurGUID.LineInputC      ="{7E180AA2-EDBE-11d4-A8A2-00A0C98DF43B}"
AurGUID.LineInputD      ="{7E180AA3-EDBE-11d4-A8A2-00A0C98DF43B}"
AurGUID.LineOutputA     ="{7E180AA5-EDBE-11d4-A8A2-00A0C98DF43B}"
AurGUID.LineOutputB     ="{7E180AA6-EDBE-11d4-A8A2-00A0C98DF43B}"
AurGUID.LineOutputC     ="{7E180AA7-EDBE-11d4-A8A2-00A0C98DF43B}"
AurGUID.LineOutputD     ="{7E180AA8-EDBE-11d4-A8A2-00A0C98DF43B}"

and the actual names, also in the [Strings] section:

AurPin.LineInputA      ="Line Input 1"
AurPin.LineInputB      ="Line Input 2"
AurPin.LineInputC      ="Line Input 3"
AurPin.LineInputD      ="Line Input 4"
AurPin.LineOutputA     ="Line Output 1"
AurPin.LineOutputB     ="Line Output 2"
AurPin.LineOutputC     ="Line Output 3"
AurPin.LineOutputD     ="Line Output 4"

Then in the [AddReg] section, I have

HKLM,%MediaCategories%\%AurGUID.LineInputA%,Name,,%AurPin.LineInputA%
HKLM,%MediaCategories%\%AurGUID.LineInputA%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%AurGUID.LineInputB%,Name,,%AurPin.LineInputB%
HKLM,%MediaCategories%\%AurGUID.LineInputB%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%AurGUID.LineInputC%,Name,,%AurPin.LineInputC%
HKLM,%MediaCategories%\%AurGUID.LineInputC%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%AurGUID.LineInputD%,Name,,%AurPin.LineInputD%
HKLM,%MediaCategories%\%AurGUID.LineInputD%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%AurGUID.LineOutputA%,Name,,%AurPin.LineOutputA%
HKLM,%MediaCategories%\%AurGUID.LineOutputA%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%AurGUID.LineOutputB%,Name,,%AurPin.LineOutputB%
HKLM,%MediaCategories%\%AurGUID.LineOutputB%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%AurGUID.LineOutputC%,Name,,%AurPin.LineOutputC%
HKLM,%MediaCategories%\%AurGUID.LineOutputC%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%AurGUID.LineOutputD%,Name,,%AurPin.LineOutputD%
HKLM,%MediaCategories%\%AurGUID.LineOutputD%,Display,1,00,00,00,00

In the driver itself, when I create each bridge pin, I use the GUID from the inf file, ie.

const GUID *MasterName[8] = {
  &GUID_LINE_OUTPUT_A,
  &GUID_LINE_OUTPUT_B,
  &GUID_LINE_OUTPUT_C,
  &GUID_LINE_OUTPUT_D };
CurrentPin->KsPinDescriptor.DataFlow = KSPIN_DATAFLOW_OUT;
INIT_PIN (
  PIN_MASTEROUT_DEST,
  CurrentPin,
  &KSNODETYPE_LINE_CONNECTOR,
  MasterName[ChannelInstance],
  Index);

The guids are defined in my guids.h file, for example,

#define STATIC_GUID_LINE_OUTPUT_A\
0x7e180aa5, 0xedbe, 0x11d4, 0xa8, 0xa2, 0x0, 0xa0, 0xc9, 0x8d, 0xf4, 0x3b
DEFINE_GUIDSTRUCT("7E180AA5-EDBE-11d4-A8A2-00A0C98DF43B", _GUID_LINE_OUTPUT_A);
#define GUID_LINE_OUTPUT_A DEFINE_GUIDNAMED(_GUID_LINE_OUTPUT_A)


The endpoint name is applied by Vista to both the corresponding wave device and mixer device, as seen by the wave and mixer APIs.

I did find with RC1 that if I used KSNODETYPE_SPEAKER for the pin type, the endpoints were just all called Speakers, but with KSNODETYPE_LINE_CONNECTOR it uses the actual pin names. I haven't tried this with RC2 yet (we have a fairly severe monthly download limit here).

I hope that helps. If you'd like me to send you my entire inf file, I can do that.

Jeff

----- Original Message ----- From: John Rennemeyer
To: wdmaudiodev@xxxxxxxxxxxxx
Sent: Wednesday, October 25, 2006 2:41 AM
Subject: [wdmaudiodev] Multiple Mixers - Jeff Pages Solved



Hi,

I'm trying to get an issue resolved with my driver that relates to the message Jeff Pages posted on this list while back. The reference to this conversation can be found here: //www.freelists.org/archives/wdmaudiodev/01-2006/msg00008.html

I was wondering if anyone had a sample .inf that showed the use of the pin name registration to assign multiple mixers from the same driver with different names (exactly the same as the link describes)?

Thank you,

John


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

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: