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

293 lines
9.9 KiB
C

/*++
Copyright (c) 1994 Microsoft Corporation
Module Name:
mixsbcd.c
Abstract:
Mixer data for the Creative Labs sound blaster 2 CD card
Environment:
Kernel mode
Revision History:
--*/
#include "sound.h"
#include "sbcdmix.h"
#ifdef ALLOC_DATA_PRAGMA
#pragma data_seg("PAGE")
#endif
#define STEREO 2 // Number of channels for stereo
/***************************************************************************
*
* Sound blaster CD mixer
*
***************************************************************************/
CONST MIXER_DD_LINE_CONFIGURATION_DATA SBCDLineInit[] =
{
// Line 0
{
(UCHAR)DestLineout, // Destination
(UCHAR)0, // Source
1, // cChannels,
3, // cConnections
2, // 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)DestLineout, // Destination
(UCHAR)0, // Source
1, // 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_SBPRO_SYNTH, // wPid
IDS_SYNTH_PNAME // PnameStringId
},
// Line 2
{
(UCHAR)DestLineout, // Destination
(UCHAR)1, // Source
1, // 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_SBPRO_AUX_CD, // wPid
IDS_AUX_CD_PNAME // PnameStringId
},
// Line 3
{
(UCHAR)DestLineout, // Destination
(UCHAR)2, // Source
1, // 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_SBPRO_WAVEOUT, // wPid
IDS_WAVEOUT_PNAME // PnameStringId
}
};
CONST MIXER_DD_CONTROL_CONFIGURATION_DATA SBCDControlInit[] =
{
// 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
}
},
{
8 // 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 - 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
}
},
{
8 // Metrics.cSteps
},
0 // TextDataOffset
},
// Control 3 - 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 4 - 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
}
},
{
8 // Metrics.cSteps
},
0 // TextDataOffset
},
// Control 5 - 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 6 - 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
}
},
{
4 // Metrics.cSteps
},
0 // TextDataOffset
},
// Control 7 - 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 8 - 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
}
};
#ifdef ALLOC_DATA_PRAGMA
#pragma data_seg()
#endif