NT4/private/ntos/dd/sound/sndblst/mixsb16.c
2020-09-30 17:12:29 +02:00

968 lines
36 KiB
C

/*++
Copyright (c) 1994 Microsoft Corporation
Module Name:
mixsb16.c
Abstract:
Mixer data for the Creative Labs sound blaster 16 card.
Environment:
Kernel mode
Revision History:
--*/
#include "sound.h"
#include "sb16mix.h"
#ifdef ALLOC_DATA_PRAGMA
#pragma data_seg("PAGE")
#endif
#define STEREO 2 // Number of channels for stereo
/*
** Initialization
*/
CONST MIXER_DD_LINE_CONFIGURATION_DATA SB16LineInit[NumberOfLines] =
{
// Line 0
{
(UCHAR)DestLineout, // Destination
(UCHAR)0, // Source
STEREO, // cChannels,
5, // cConnections
6, // cControls,
0, // dwUser
IDS_DESTLINEOUT_SHORT_NAME, // ShortNameStringId
IDS_DESTLINEOUT_LONG_NAME, // LongNameStringId
MIXERLINE_COMPONENTTYPE_DST_SPEAKERS, // dwComponentType
MIXERLINE_TARGETTYPE_UNDEFINED, // Type
0, // wPid
0 // PnameStringId
},
// Line 1
{
(UCHAR)DestWaveIn, // Destination
(UCHAR)0, // Source
STEREO, // cChannels,
4, // cConnections
3, // cControls,
0, // dwUser
IDS_DESTWAVEIN_SHORT_NAME, // ShortNameStringId
IDS_DESTWAVEIN_LONG_NAME, // LongNameStringId
MIXERLINE_COMPONENTTYPE_DST_WAVEIN, // dwComponentType
MIXERLINE_TARGETTYPE_WAVEIN, // Type
MM_MSFT_SB16_WAVEIN, // wPid
IDS_WAVEIN_PNAME // PnameStringId
},
// Line 2
{
(UCHAR)DestVoiceIn, // Destination
(UCHAR)0, // Source
STEREO, // cChannels,
2, // cConnections
3, // cControls,
SNDSYS_MIXERLINE_LOWPRIORITY, // dwUser
IDS_DESTVOICEIN_SHORT_NAME, // ShortNameStringId
IDS_DESTVOICEIN_LONG_NAME, // LongNameStringId
MIXERLINE_COMPONENTTYPE_DST_VOICEIN, // dwComponentType
MIXERLINE_TARGETTYPE_WAVEIN, // Type
MM_MSFT_SB16_WAVEIN, // wPid
IDS_WAVEIN_PNAME // PnameStringId
},
// Line 3
{
(UCHAR)DestLineout, // Destination
(UCHAR)0, // Source
STEREO, // cChannels,
0, // cConnections
2, // cControls,
0, // dwUser
IDS_SRCAUX_SHORT_NAME, // ShortNameStringId
IDS_SRCAUX_LONG_NAME, // LongNameStringId
MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY, // dwComponentType
MIXERLINE_TARGETTYPE_AUX, // Type
MM_MSFT_SB16_AUX_LINE, // wPid
IDS_AUX_LINE_PNAME // PnameStringId
},
// Line 4
{
(UCHAR)DestLineout, // Destination
(UCHAR)1, // Source
STEREO, // cChannels,
0, // cConnections
2, // cControls,
0, // dwUser
IDS_SRCMIDIOUT_SHORT_NAME, // ShortNameStringId
IDS_SRCMIDIOUT_LONG_NAME, // LongNameStringId
MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER,// dwComponentType
MIXERLINE_TARGETTYPE_MIDIOUT, // Type
MM_MSFT_SB16_SYNTH, // wPid
IDS_SYNTH_PNAME // PnameStringId
},
// Line 5
{
(UCHAR)DestLineout, // Destination
(UCHAR)2, // Source
1, // cChannels,
0, // cConnections
3, // cControls,
0, // dwUser
IDS_SRCMICOUT_SHORT_NAME, // ShortNameStringId
IDS_SRCMICOUT_LONG_NAME, // LongNameStringId
MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE, // dwComponentType
MIXERLINE_TARGETTYPE_UNDEFINED, // Type
0, // wPid
0 // PnameStringId
},
// Line 6
{
(UCHAR)DestLineout, // Destination
(UCHAR)3, // Source
2, // cChannels,
0, // cConnections
2, // cControls,
0, // dwUser
IDS_SRCINTERNALCD_SHORT_NAME, // ShortNameStringId
IDS_SRCINTERNALCD_LONG_NAME, // LongNameStringId
MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC, // dwComponentType
MIXERLINE_TARGETTYPE_AUX, // Type
MM_MSFT_SB16_AUX_CD, // wPid
IDS_AUX_CD_PNAME // PnameStringId
},
// Line 7
{
(UCHAR)DestLineout, // Destination
(UCHAR)4, // Source
2, // cChannels,
0, // cConnections
3, // cControls,
0, // dwUser
IDS_SRCWAVEOUT_SHORT_NAME, // ShortNameStringId
IDS_SRCWAVEOUT_LONG_NAME, // LongNameStringId
MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT, // dwComponentType
MIXERLINE_TARGETTYPE_WAVEOUT, // Type
MM_MSFT_SB16_WAVEOUT, // wPid
IDS_WAVEOUT_PNAME // PnameStringId
},
// Line 8
{
(UCHAR)DestWaveIn, // Destination
(UCHAR)0, // Source
2, // cChannels,
0, // cConnections
1, // cControls,
0, // dwUser
IDS_SRCAUX_SHORT_NAME, // ShortNameStringId
IDS_SRCAUX_LONG_NAME, // LongNameStringId
MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY, // dwComponentType
MIXERLINE_TARGETTYPE_UNDEFINED, // Type
0, // wPid
0 // PnameStringId
},
// Line 9
{
(UCHAR)DestWaveIn, // Destination
(UCHAR)1, // Source
2, // cChannels,
0, // cConnections
1, // cControls,
0, // dwUser
IDS_SRCMIDIOUT_SHORT_NAME, // ShortNameStringId
IDS_SRCMIDIOUT_LONG_NAME, // LongNameStringId
MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER,// dwComponentType
MIXERLINE_TARGETTYPE_UNDEFINED, // Type
0, // wPid
0 // PnameStringId
},
// Line 10
{
(UCHAR)DestWaveIn, // Destination
(UCHAR)2, // Source
1, // cChannels,
0, // cConnections
2, // cControls,
0, // dwUser
IDS_SRCMICOUT_SHORT_NAME, // ShortNameStringId
IDS_SRCMICOUT_LONG_NAME, // LongNameStringId
MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE, // dwComponentType
MIXERLINE_TARGETTYPE_UNDEFINED, // Type
0, // wPid
0 // PnameStringId
},
// Line 11
{
(UCHAR)DestWaveIn, // Destination
(UCHAR)3, // Source
2, // cChannels,
0, // cConnections
1, // cControls,
0, // dwUser
IDS_SRCINTERNALCD_SHORT_NAME, // ShortNameStringId
IDS_SRCINTERNALCD_LONG_NAME, // LongNameStringId
MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC,// dwComponentType
MIXERLINE_TARGETTYPE_UNDEFINED, // Type
0, // wPid
0 // PnameStringId
},
// Line 12
{
(UCHAR)DestVoiceIn, // Destination
(UCHAR)0, // Source
2, // cChannels,
0, // cConnections
1, // cControls,
0, // dwUser
IDS_SRCAUX_SHORT_NAME, // ShortNameStringId
IDS_SRCAUX_LONG_NAME, // LongNameStringId
MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY, // dwComponentType
MIXERLINE_TARGETTYPE_UNDEFINED, // Type
0, // wPid
0 // PnameStringId
},
// Line 13
{
(UCHAR)DestVoiceIn, // Destination
(UCHAR)1, // Source
2, // cChannels,
0, // cConnections
2, // cControls,
0, // dwUser
IDS_SRCMICOUT_SHORT_NAME, // ShortNameStringId
IDS_SRCMICOUT_LONG_NAME, // LongNameStringId
MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE, // dwComponentType
MIXERLINE_TARGETTYPE_UNDEFINED, // Type
0, // wPid
0 // PnameStringId
}
};
CONST MIXER_DD_CONTROL_CONFIGURATION_DATA SB16ControlInit[NumberOfControls] =
{
// Control 0 - Master output volume
{
MIXERCONTROL_CONTROLTYPE_VOLUME, // dwControlType
0, // fdwControl
(UCHAR)DestLineout, // LineID
0, // cMultipleItems
IDS_CONTROL_VOLLINEOUT_SHORT_NAME, // ShortNameStringId
IDS_CONTROL_VOLLINEOUT_LONG_NAME, // LongNameStringId
{
{
0, // Minimum
0xFFFF // Maximum
}
},
{
32 // Metrics.cSteps
},
0 // TextDataOffset
},
// Control 1 - Mute of mixed DAC out
{
MIXERCONTROL_CONTROLTYPE_MUTE, // dwControlType
MIXERCONTROL_CONTROLF_UNIFORM, // fdwControl
(UCHAR)DestLineout, // LineID
0, // cMultipleItems
IDS_CONTROL_MUTELINEOUT_SHORT_NAME, // ShortNameStringId
IDS_CONTROL_MUTELINEOUT_LONG_NAME, // LongNameStringId
{
{
0, // Minimum
1 // Maximum
}
},
{
0 // Metrics.cSteps
},
0 // TextDataOffset
},
// Control 2 - mixer that feeds lineout
{
MIXERCONTROL_CONTROLTYPE_MIXER, // dwControlType
MIXERCONTROL_CONTROLF_MULTIPLE | // fdwControl
MIXERCONTROL_CONTROLF_UNIFORM,
(UCHAR)DestLineout, // LineID
3, // cMultipleItems
IDS_CONTROL_MUXLINEOUT_SHORT_NAME, // ShortNameStringId
IDS_CONTROL_MUXLINEOUT_LONG_NAME, // LongNameStringId
{
{
0, // Minimum
1 // Maximum
}
},
{
3 // Metrics
},
0 // TextDataOffset
},
// Control 3 - Lineout base
{
MIXERCONTROL_CONTROLTYPE_BASS, // dwControlType
0, // fdwControl
(UCHAR)DestLineout, // LineID
0, // cMultipleItems
IDS_CONTROL_VOLBASS_SHORT_NAME, // ShortNameStringId
IDS_CONTROL_VOLBASS_LONG_NAME, // LongNameStringId
{
{
0, // Minimum
0xFFFF // Maximum
}
},
{
16 // Metrics.cSteps
},
0 // TextDataOffset
},
// Control 4 - Lineout treble
{
MIXERCONTROL_CONTROLTYPE_TREBLE, // dwControlType
0, // fdwControl
(UCHAR)DestLineout, // LineID
0, // cMultipleItems
IDS_CONTROL_VOLTREBLE_SHORT_NAME, // ShortNameStringId
IDS_CONTROL_VOLTREBLE_LONG_NAME, // LongNameStringId
{
{
0, // Minimum
0xFFFF // Maximum
}
},
{
16 // Metrics.cSteps
},
0 // TextDataOffset
},
// Control 5 - Lineout gain
{
MIXERCONTROL_CONTROLTYPE_FADER + 100, // dwControlType - unknown
// unsigned control
0, // fdwControl
(UCHAR)DestLineout, // LineID
0, // cMultipleItems
IDS_CONTROL_VOLGAIN_SHORT_NAME, // ShortNameStringId
IDS_CONTROL_VOLGAIN_LONG_NAME, // LongNameStringId
{
{
0, // Minimum
0xFFFF // Maximum
}
},
{
4 // Metrics.cSteps
},
0 // TextDataOffset
},
// Control 6 - Master record volume
{
MIXERCONTROL_CONTROLTYPE_VOLUME, // dwControlType
0, // fdwControl
(UCHAR)DestWaveIn, // LineID
0, // cMultipleItems
IDS_CONTROL_VOLRECORD_SHORT_NAME, // ShortNameStringId
IDS_CONTROL_VOLRECORD_LONG_NAME, // LongNameStringId
{
{
0, // Minimum
0xFFFF // Maximum
}
},
{
4 // Metrics.cSteps
},
0 // TextDataOffset
},
// Control 7 - mixer that feeds wavein
{
MIXERCONTROL_CONTROLTYPE_MIXER, // dwControlType
MIXERCONTROL_CONTROLF_MULTIPLE | // fdwControl
MIXERCONTROL_CONTROLF_UNIFORM,
(UCHAR)DestWaveIn, // LineID
4, // cMultipleItems
IDS_CONTROL_MIXERWAVEIN_SHORT_NAME, // ShortNameStringId
IDS_CONTROL_MIXERWAVEIN_LONG_NAME, // LongNameStringId
{
{
0, // Minimum
1 // Maximum
}
},
{
4 // Metrics
},
0 // TextDataOffset
},
// Control 8 - Master record VU meter
{
MIXERCONTROL_CONTROLTYPE_PEAKMETER, // dwControlType
0, // fdwControl
(UCHAR)DestWaveIn, // LineID
0, // cMultipleItems
IDS_CONTROL_METERRECORD_SHORT_NAME, // ShortNameStringId
IDS_CONTROL_METERRECORD_LONG_NAME, // LongNameStringId
{
{
-32768, // Minimum
32767 // Maximum
}
},
{
0 // Metrics.cSteps
},
0 // TextDataOffset
},
// Control 9 - Voice In record volume
{
MIXERCONTROL_CONTROLTYPE_VOLUME, // dwControlType
0, // fdwControl
(UCHAR)DestVoiceIn, // LineID
0, // cMultipleItems
IDS_CONTROL_VOLRECORD_SHORT_NAME, // ShortNameStringId
IDS_CONTROL_VOLRECORD_LONG_NAME, // LongNameStringId
{
{
0, // Minimum
0xFFFF // Maximum
}
},
{
4 // Metrics.cSteps
},
0 // TextDataOffset
},
// Control 10 - mux that feeds voicein
{
MIXERCONTROL_CONTROLTYPE_MUX, // dwControlType
MIXERCONTROL_CONTROLF_MULTIPLE | // fdwControl
MIXERCONTROL_CONTROLF_UNIFORM,
(UCHAR)DestVoiceIn, // LineID
2, // cMultipleItems
IDS_CONTROL_VOICEINMUX_SHORT_NAME, // ShortNameStringId
IDS_CONTROL_VOICEINMUX_LONG_NAME, // LongNameStringId
{
{
0, // Minimum
1 // Maximum
}
},
{
2 // Metrics
},
0 // TextDataOffset
},
// Control 11 - Master record VU meter for Voice In
{
MIXERCONTROL_CONTROLTYPE_PEAKMETER, // dwControlType
0, // fdwControl
(UCHAR)DestVoiceIn, // LineID
0, // cMultipleItems
IDS_CONTROL_METERRECORD_SHORT_NAME, // ShortNameStringId
IDS_CONTROL_METERRECORD_LONG_NAME, // LongNameStringId
{
{
-32768, // Minimum
32767 // Maximum
}
},
{
0 // Metrics.cSteps
},
0 // TextDataOffset
},
// Control 12 - Vol level between Aux and Lineout
{
MIXERCONTROL_CONTROLTYPE_VOLUME, // dwControlType
0, // fdwControl
(UCHAR)DestLineoutSourceAux, // LineID
0, // cMultipleItems
IDS_CONTROL_VOLLINEOUTAUX_SHORT_NAME,// ShortNameStringId
IDS_CONTROL_VOLLINEOUTAUX_LONG_NAME, // LongNameStringId
{
{
0, // Minimum
0xFFFF // Maximum
}
},
{
32 // Metrics.cSteps
},
0 // TextDataOffset
},
// Control 13 - Mute of Aux
{
MIXERCONTROL_CONTROLTYPE_MUTE, // dwControlType
MIXERCONTROL_CONTROLF_UNIFORM, // fdwControl
(UCHAR)DestLineoutSourceAux, // LineID
0, // cMultipleItems
IDS_CONTROL_MUTEAUX_SHORT_NAME, // ShortNameStringId
IDS_CONTROL_MUTEAUX_LONG_NAME, // LongNameStringId
{
{
0, // Minimum
1 // Maximum
}
},
{
0 // Metrics.cSteps
},
0 // TextDataOffset
},
// Control 14 - Midi out volume
{
MIXERCONTROL_CONTROLTYPE_VOLUME, // dwControlType
0, // fdwControl
(UCHAR)DestLineoutSourceMidiout, // LineID
0, // cMultipleItems
IDS_CONTROL_VOLLINEOUTMIDIOUT_SHORT_NAME, // ShortNameStringId
IDS_CONTROL_VOLLINEOUTMIDIOUT_LONG_NAME, // LongNameStringId
{
{
0, // Minimum
0xFFFF // Maximum
}
},
{
32 // Metrics.cSteps
},
0 // TextDataOffset
},
// Control 15 - Mute of Midi
{
MIXERCONTROL_CONTROLTYPE_MUTE, // dwControlType
MIXERCONTROL_CONTROLF_UNIFORM, // fdwControl
(UCHAR)DestLineoutSourceMidiout, // LineID
0, // cMultipleItems
IDS_CONTROL_MUTEMIDIOUT_SHORT_NAME, // ShortNameStringId
IDS_CONTROL_MUTEMIDIOUT_LONG_NAME, // LongNameStringId
{
{
0, // Minimum
1 // Maximum
}
},
{
0 // Metrics.cSteps
},
0 // TextDataOffset
},
// Control 16 - Mic out volume
{
MIXERCONTROL_CONTROLTYPE_VOLUME, // dwControlType
MIXERCONTROL_CONTROLF_UNIFORM, // fdwControl
(UCHAR)DestLineoutSourceMic, // LineID
0, // cMultipleItems
IDS_CONTROL_VOLLINEOUTMIC_SHORT_NAME, // ShortNameStringId
IDS_CONTROL_VOLLINEOUTMIC_LONG_NAME, // LongNameStringId
{
{
0, // Minimum
0xFFFF // Maximum
}
},
{
32 // Metrics.cSteps
},
0 // TextDataOffset
},
// Control 17 - Mute of Mic out
{
MIXERCONTROL_CONTROLTYPE_MUTE, // dwControlType
MIXERCONTROL_CONTROLF_UNIFORM, // fdwControl
(UCHAR)DestLineoutSourceMic, // LineID
0, // cMultipleItems
IDS_CONTROL_MUTEMIC_SHORT_NAME, // ShortNameStringId
IDS_CONTROL_MUTEMIC_LONG_NAME, // LongNameStringId
{
{
0, // Minimum
1 // Maximum
}
},
{
0 // Metrics.cSteps
},
0 // TextDataOffset
},
// Control 18 - AGC of Mic out
{
MIXERCONTROL_CONTROLTYPE_ONOFF, // dwControlType
MIXERCONTROL_CONTROLF_UNIFORM, // fdwControl
(UCHAR)DestLineoutSourceMic, // LineID
0, // cMultipleItems
IDS_CONTROL_AGCMIC_SHORT_NAME, // ShortNameStringId
IDS_CONTROL_AGCMIC_LONG_NAME, // LongNameStringId
{
{
0, // Minimum
1 // Maximum
}
},
{
0 // Metrics.cSteps
},
0 // TextDataOffset
},
// Control 19 - Internal CD out volume
{
MIXERCONTROL_CONTROLTYPE_VOLUME, // dwControlType
0, // fdwControl
(UCHAR)DestLineoutSourceInternal, // LineID
0, // cMultipleItems
IDS_CONTROL_VOLLINEOUTINTERNAL_SHORT_NAME, // ShortNameStringId
IDS_CONTROL_VOLLINEOUTINTERNAL_LONG_NAME, // LongNameStringId
{
{
0, // Minimum
0xFFFF // Maximum
}
},
{
32 // Metrics.cSteps
},
0 // TextDataOffset
},
// Control 20 - Mute of Internal CD
{
MIXERCONTROL_CONTROLTYPE_MUTE, // dwControlType
MIXERCONTROL_CONTROLF_UNIFORM, // fdwControl
(UCHAR)DestLineoutSourceInternal, // LineID
0, // cMultipleItems
IDS_CONTROL_MUTEINTERNAL_SHORT_NAME,// ShortNameStringId
IDS_CONTROL_MUTEINTERNAL_LONG_NAME, // LongNameStringId
{
{
0, // Minimum
1 // Maximum
}
},
{
0 // Metrics.cSteps
},
0 // TextDataOffset
},
// Control 21 - Wave out volume
{
MIXERCONTROL_CONTROLTYPE_VOLUME, // dwControlType
0, // fdwControl
(UCHAR)DestLineoutSourceWaveout, // LineID
0, // cMultipleItems
IDS_CONTROL_VOLLINEOUTWAVEOUT_SHORT_NAME, // ShortNameStringId
IDS_CONTROL_VOLLINEOUTWAVEOUT_LONG_NAME, // LongNameStringId
{
{
0, // Minimum
0xFFFF // Maximum
}
},
{
32 // Metrics.cSteps
},
0 // TextDataOffset
},
// Control 22 - Mute of wave output
{
MIXERCONTROL_CONTROLTYPE_MUTE, // dwControlType
MIXERCONTROL_CONTROLF_UNIFORM, // fdwControl
(UCHAR)DestLineoutSourceWaveout, // LineID
0, // cMultipleItems
IDS_CONTROL_MUTEWAVEOUT_SHORT_NAME, // ShortNameStringId
IDS_CONTROL_MUTEWAVEOUT_LONG_NAME, // LongNameStringId
{
{
0, // Minimum
1 // Maximum
}
},
{
0 // Metrics.cSteps
},
0 // TextDataOffset
},
// Control 23 - wave out peak meter
{
MIXERCONTROL_CONTROLTYPE_PEAKMETER, // dwControlType
0, // fdwControl
(UCHAR)DestLineoutSourceWaveout, // LineID
0, // cMultipleItems
IDS_CONTROL_PEAKWAVEOUT_SHORT_NAME, // ShortNameStringId
IDS_CONTROL_PEAKWAVEOUT_LONG_NAME, // LongNameStringId
{
{
-32768, // Minimum
32767 // Maximum
}
},
{
0 // Metrics.cSteps
},
0 // TextDataOffset
},
// Control 24 - Vol between Aux and WaveIn
{
MIXERCONTROL_CONTROLTYPE_VOLUME, // dwControlType
0, // fdwControl
(UCHAR)DestWaveInSourceAux, // LineID
0, // cMultipleItems
IDS_CONTROL_VOLWAVEINAUX_SHORT_NAME, // ShortNameStringId
IDS_CONTROL_VOLWAVEINAUX_LONG_NAME, // LongNameStringId
{
{
0, // Minimum
0xFFFF // Maximum
}
},
{
32 // Metrics.cSteps
},
0 // TextDataOffset
},
// Control 25 - Vol between Midi and WaveIn
{
MIXERCONTROL_CONTROLTYPE_VOLUME, // dwControlType
0, // fdwControl
(UCHAR)DestWaveInSourceMidiout, // LineID
0, // cMultipleItems
IDS_CONTROL_VOLWAVEINMIDIOUT_SHORT_NAME, // ShortNameStringId
IDS_CONTROL_VOLWAVEINMIDIOUT_LONG_NAME, // LongNameStringId
{
{
0, // Minimum
0xFFFF // Maximum
}
},
{
32 // Metrics.cSteps
},
0 // TextDataOffset
},
// Control 26 - Vol between Mic and WaveIn
{
MIXERCONTROL_CONTROLTYPE_VOLUME, // dwControlType
0, // fdwControl
(UCHAR)DestWaveInSourceMic, // LineID
0, // cMultipleItems
IDS_CONTROL_VOLWAVEINMIC_SHORT_NAME, // ShortNameStringId
IDS_CONTROL_VOLWAVEINMIC_LONG_NAME, // LongNameStringId
{
{
0, // Minimum
0xFFFF // Maximum
}
},
{
32 // Metrics.cSteps
},
0 // TextDataOffset
},
// Control 27 - AGC of Mic in
{
MIXERCONTROL_CONTROLTYPE_ONOFF, // dwControlType
MIXERCONTROL_CONTROLF_UNIFORM, // fdwControl
(UCHAR)DestWaveInSourceMic, // LineID
0, // cMultipleItems
IDS_CONTROL_AGCMIC_SHORT_NAME, // ShortNameStringId
IDS_CONTROL_AGCMIC_LONG_NAME, // LongNameStringId
{
{
0, // Minimum
1 // Maximum
}
},
{
0 // Metrics.cSteps
},
0 // TextDataOffset
},
// Control 28 - Vol between internal CD and WaveIn
{
MIXERCONTROL_CONTROLTYPE_VOLUME, // dwControlType
0, // fdwControl
(UCHAR)DestWaveInSourceInternal, // LineID
0, // cMultipleItems
IDS_CONTROL_VOLWAVEININTERNAL_SHORT_NAME, // ShortNameStringId
IDS_CONTROL_VOLWAVEININTERNAL_LONG_NAME, // LongNameStringId
{
{
0, // Minimum
0xFFFF // Maximum
}
},
{
32 // Metrics.cSteps
},
0 // TextDataOffset
},
// Control 29 - Vol between Aux and VoiceIn
{
MIXERCONTROL_CONTROLTYPE_VOLUME, // dwControlType
0, // fdwControl
(UCHAR)DestVoiceInSourceAux, // LineID
0, // cMultipleItems
IDS_CONTROL_VOLVOICEINAUX_SHORT_NAME, // ShortNameStringId
IDS_CONTROL_VOLVOICEINAUX_LONG_NAME, // LongNameStringId
{
{
0, // Minimum
0xFFFF // Maximum
}
},
{
32 // Metrics.cSteps
},
0 // TextDataOffset
},
// Control 30 - Vol between Mic and VoiceIn
{
MIXERCONTROL_CONTROLTYPE_VOLUME, // dwControlType
0, // fdwControl
(UCHAR)DestVoiceInSourceMic, // LineID
0, // cMultipleItems
IDS_CONTROL_VOLVOICEINMIC_SHORT_NAME, // ShortNameStringId
IDS_CONTROL_VOLVOICEINMIC_LONG_NAME, // LongNameStringId
{
{
0, // Minimum
0xFFFF // Maximum
}
},
{
32 // Metrics.cSteps
},
0 // TextDataOffset
},
// Control 31 - AGC of Mic voice in
{
MIXERCONTROL_CONTROLTYPE_ONOFF, // dwControlType
MIXERCONTROL_CONTROLF_UNIFORM, // fdwControl
(UCHAR)DestVoiceInSourceMic, // LineID
0, // cMultipleItems
IDS_CONTROL_AGCMIC_SHORT_NAME, // ShortNameStringId
IDS_CONTROL_AGCMIC_LONG_NAME, // LongNameStringId
{
{
0, // Minimum
1 // Maximum
}
},
{
0 // Metrics.cSteps
},
0 // TextDataOffset
}
};
/*
** LISTTEXT data - only valid for MUXes
*/
CONST MIXER_DD_CONTROL_LISTTEXT SB16TextInit[] = {
{
DestLineoutSourceAux, // Line Id
MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY, // Component type of source
IDS_SRCAUX_LONG_NAME, // Text
ControlLineoutMux // Control ID
},
{
DestLineoutSourceMic, // Line Id
MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE, // Component type of source
IDS_SRCMICOUT_LONG_NAME, // Text
ControlLineoutMux // Control ID
},
{
DestLineoutSourceInternal, // Line Id
MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC, // Component type of source
IDS_SRCINTERNALCD_LONG_NAME, // Text
ControlLineoutMux // Control ID
},
{
DestWaveInSourceAux, // Line Id
MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY, // Component type of source
IDS_SRCAUX_LONG_NAME, // Text
ControlWaveInMux // Control ID
},
{
DestWaveInSourceMidiout, // Line Id
MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER, // Component type of source
IDS_SRCMIDIOUT_LONG_NAME, // Text
ControlWaveInMux // Control ID
},
{
DestWaveInSourceMic, // Line Id
MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE, // Component type of source
IDS_SRCMICOUT_LONG_NAME, // Text
ControlWaveInMux // Control ID
},
{
DestWaveInSourceInternal, // Line Id
MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC, // Component type of source
IDS_SRCINTERNALCD_LONG_NAME, // Text
ControlWaveInMux // Control ID
},
{
DestVoiceInSourceAux, // Line Id
MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY, // Component type of source
IDS_SRCAUX_LONG_NAME, // Text
ControlVoiceInMux // Control ID
},
{
DestVoiceInSourceMic, // Line Id
MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE, // Component type of source
IDS_SRCMICOUT_LONG_NAME, // Text
ControlVoiceInMux // Control ID
}
};
#ifdef ALLOC_DATA_PRAGMA
#pragma data_seg()
#endif