// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (C) 1993 - 1995  Microsoft Corporation.  All Rights Reserved.
//
//  FILE:     iteminfo.h
//
//  PURPOSE:  Header file for iteminfo.c
//

MIXERLINE mlCurrent;   
MIXERCONTROL mcCurrent;   

#define MIXERCOMPONENT_TYPES  20

DWORD adwComponentType[MIXERCOMPONENT_TYPES][2] = {
    { MIXERLINE_COMPONENTTYPE_DST_UNDEFINED,   IDS_MIXERLINE_COMPONENTTYPE_DST_UNDEFINED },
    { MIXERLINE_COMPONENTTYPE_DST_DIGITAL,     IDS_MIXERLINE_COMPONENTTYPE_DST_DIGITAL },
    { MIXERLINE_COMPONENTTYPE_DST_LINE,        IDS_MIXERLINE_COMPONENTTYPE_DST_LINE },
    { MIXERLINE_COMPONENTTYPE_DST_MONITOR,     IDS_MIXERLINE_COMPONENTTYPE_DST_MONITOR },
    { MIXERLINE_COMPONENTTYPE_DST_SPEAKERS,    IDS_MIXERLINE_COMPONENTTYPE_DST_SPEAKERS },
    { MIXERLINE_COMPONENTTYPE_DST_HEADPHONES,  IDS_MIXERLINE_COMPONENTTYPE_DST_HEADPHONES },
    { MIXERLINE_COMPONENTTYPE_DST_TELEPHONE,   IDS_MIXERLINE_COMPONENTTYPE_DST_TELEPHONE },
    { MIXERLINE_COMPONENTTYPE_DST_WAVEIN,      IDS_MIXERLINE_COMPONENTTYPE_DST_WAVEIN },
    { MIXERLINE_COMPONENTTYPE_DST_VOICEIN,     IDS_MIXERLINE_COMPONENTTYPE_DST_VOICEIN },
    { MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED,   IDS_MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED },
    { MIXERLINE_COMPONENTTYPE_SRC_DIGITAL,     IDS_MIXERLINE_COMPONENTTYPE_SRC_DIGITAL },
    { MIXERLINE_COMPONENTTYPE_SRC_LINE,        IDS_MIXERLINE_COMPONENTTYPE_SRC_LINE },
    { MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE,  IDS_MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE },
    { MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER, IDS_MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER },
    { MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC, IDS_MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC },
    { MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE,   IDS_MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE },
    { MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER,   IDS_MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER },
    { MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT,     IDS_MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT },
    { MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY,   IDS_MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY },
    { MIXERLINE_COMPONENTTYPE_SRC_ANALOG,      IDS_MIXERLINE_COMPONENTTYPE_SRC_ANALOG }
};

#define MIXERCONTROL_TYPES  26

DWORD adwControlType[MIXERCONTROL_TYPES][2] = {
    { MIXERCONTROL_CONTROLTYPE_CUSTOM,         IDS_MIXERCONTROL_CONTROLTYPE_CUSTOM },
    { MIXERCONTROL_CONTROLTYPE_SIGNEDMETER,    IDS_MIXERCONTROL_CONTROLTYPE_SIGNEDMETER },
    { MIXERCONTROL_CONTROLTYPE_PEAKMETER,      IDS_MIXERCONTROL_CONTROLTYPE_PEAKMETER },
    { MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER,  IDS_MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER },
    { MIXERCONTROL_CONTROLTYPE_BOOLEAN,        IDS_MIXERCONTROL_CONTROLTYPE_BOOLEAN },
    { MIXERCONTROL_CONTROLTYPE_ONOFF,          IDS_MIXERCONTROL_CONTROLTYPE_ONOFF },
    { MIXERCONTROL_CONTROLTYPE_MUTE,           IDS_MIXERCONTROL_CONTROLTYPE_MUTE },
    { MIXERCONTROL_CONTROLTYPE_MONO,           IDS_MIXERCONTROL_CONTROLTYPE_MONO },
    { MIXERCONTROL_CONTROLTYPE_LOUDNESS,       IDS_MIXERCONTROL_CONTROLTYPE_LOUDNESS },
    { MIXERCONTROL_CONTROLTYPE_STEREOENH,      IDS_MIXERCONTROL_CONTROLTYPE_STEREOENH },
    { MIXERCONTROL_CONTROLTYPE_SIGNED,         IDS_MIXERCONTROL_CONTROLTYPE_SIGNED },
    { MIXERCONTROL_CONTROLTYPE_UNSIGNED,       IDS_MIXERCONTROL_CONTROLTYPE_UNSIGNED },
    { MIXERCONTROL_CONTROLTYPE_SLIDER,         IDS_MIXERCONTROL_CONTROLTYPE_SLIDER },
    { MIXERCONTROL_CONTROLTYPE_PAN,            IDS_MIXERCONTROL_CONTROLTYPE_PAN },
    { MIXERCONTROL_CONTROLTYPE_QSOUNDPAN,      IDS_MIXERCONTROL_CONTROLTYPE_QSOUNDPAN },
    { MIXERCONTROL_CONTROLTYPE_FADER,          IDS_MIXERCONTROL_CONTROLTYPE_FADER },
    { MIXERCONTROL_CONTROLTYPE_VOLUME,         IDS_MIXERCONTROL_CONTROLTYPE_VOLUME },
    { MIXERCONTROL_CONTROLTYPE_BASS,           IDS_MIXERCONTROL_CONTROLTYPE_BASS },
    { MIXERCONTROL_CONTROLTYPE_TREBLE,         IDS_MIXERCONTROL_CONTROLTYPE_TREBLE },
    { MIXERCONTROL_CONTROLTYPE_EQUALIZER,      IDS_MIXERCONTROL_CONTROLTYPE_EQUALIZER },
    { MIXERCONTROL_CONTROLTYPE_MICROTIME,      IDS_MIXERCONTROL_CONTROLTYPE_MICROTIME },
    { MIXERCONTROL_CONTROLTYPE_MILLITIME,      IDS_MIXERCONTROL_CONTROLTYPE_MILLITIME },
    { MIXERCONTROL_CONTROLTYPE_SINGLESELECT,   IDS_MIXERCONTROL_CONTROLTYPE_SINGLESELECT },
    { MIXERCONTROL_CONTROLTYPE_MUX,            IDS_MIXERCONTROL_CONTROLTYPE_MUX },
    { MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT, IDS_MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT },
    { MIXERCONTROL_CONTROLTYPE_MIXER,          IDS_MIXERCONTROL_CONTROLTYPE_MIXER }
};

void GetComponentTypeString(DWORD dwComponentType, LPSTR lpszBuf, int cbBuf);
void GetControlTypeString(DWORD dwControlType, LPSTR lpszBuf, int cbBuf);

