83 lines
3.2 KiB
C
83 lines
3.2 KiB
C
#ifndef _AUDIOWIZ_H
|
||
#define _AUDIOWIZ_H
|
||
|
||
//for uOptions in wizard calls
|
||
#define RUNDUE_CARDCHANGE 0x00000001
|
||
#define RUNDUE_NEVERBEFORE 0x00000002
|
||
#define RUNDUE_USERINVOKED 0x00000003
|
||
|
||
#define STARTWITH_BACK 0x10000000
|
||
#define ENDWITH_NEXT 0x20000000
|
||
|
||
//card capabilities
|
||
#define SOUNDCARD_NONE 0x00000000
|
||
#define SOUNDCARD_PRESENT 0x00000001
|
||
#define SOUNDCARD_FULLDUPLEX 0x00000002
|
||
#define SOUNDCARD_HAVEAGC 0x00000004
|
||
#define SOUNDCARD_HAVERECVOLCNTRL 0x00000008
|
||
#define SOUNDCARD_DIRECTSOUND 0x00000010
|
||
|
||
#define MASKOFFFULLDUPLEX(SoundCap) ((SoundCap) & (0xFFFFFFFF ^ SOUNDCARD_FULLDUPLEX))
|
||
#define MASKOFFHAVEAGC(SoundCap) ((SoundCap) & (0xFFFFFFFF ^ SOUNDCARD_HAVEAGC))
|
||
#define MASKOFFHAVERECVOLCNTRL(SoundCap) ((SoundCap) & (0xFFFFFFFF ^ SOUNDCARD_HAVERECVOLCNTRL))
|
||
#define ISSOUNDCARDPRESENT(SoundCap) (SoundCap & SOUNDCARD_PRESENT)
|
||
#define ISSOUNDCARDFULLDUPLEX(SoundCap) (SoundCap & SOUNDCARD_FULLDUPLEX)
|
||
#define DOESSOUNDCARDHAVEAGC(SoundCap) (SoundCap & SOUNDCARD_HAVEAGC)
|
||
#define DOESSOUNDCARDHAVERECVOLCNTRL(SoundCap) (SoundCap & SOUNDCARD_HAVERECVOLCNTRL)
|
||
#define ISDIRECTSOUNDAVAILABLE(SoundCap) (SoundCap & SOUNDCARD_DIRECTSOUND)
|
||
|
||
#pragma warning (disable:4200)
|
||
typedef struct _WIZCONFIG{
|
||
BOOL fCancel; //if a dialog was cancelled, this will be set
|
||
UINT uFlags; //the higher order WORD specifying the config of this dialog
|
||
DWORD dwCustomDataSize;
|
||
BYTE pCustomData[];
|
||
}WIZCONFIG, *PWIZCONFIG;
|
||
#pragma warning (default:4200)
|
||
|
||
|
||
#define AUDIOWIZ_NOCHANGES 0x00000000
|
||
#define CALIBVOL_CHANGED 0x00000001
|
||
#define SOUNDCARDCAPS_CHANGED 0x00000002
|
||
#define CODECPOWER_CHANGED 0x00000004
|
||
#define TYPBANDWIDTH_CHANGED 0x00000008
|
||
#define SOUNDCARD_CHANGED 0x00000010
|
||
#define SPEAKERVOL_CHANGED 0x00000020
|
||
|
||
#define MASKOFFCALIBVOL_CHANGED(uChange) ((uChange) | (0xFFFFFFFF ^ CALIBVOL_CHANGED))
|
||
#define MASKOFFSOUNDCARDCAPS_CHANGED(uChange) ((uChange) | (0xFFFFFFFF ^ SOUNDCARDCAPS_CHANGED))
|
||
#define MASKOFFCODECPOWER_CHANGED(uChange) ((uChange) | (0xFFFFFFFF ^ CODECPOWER_CHANGED))
|
||
#define MASKOFFTYPBANDWIDTH_CHANGED(uChange) ((uChange) | (0xFFFFFFFF ^ TYPBANDWIDTH_CHANGED))
|
||
#define MASKOFFSOUNDCARD_CHANGED(uChange) ((uChange) | (0xFFFFFFFF ^ SOUNDCARD_CHANGED))
|
||
|
||
typedef struct _AUDIOWIZOUTPUT{
|
||
UINT uChanged;
|
||
UINT uValid;
|
||
UINT uSoundCardCaps;
|
||
UINT uCalibratedVol;
|
||
UINT uTypBandWidth;
|
||
UINT uWaveInDevId;
|
||
UINT uWaveOutDevId;
|
||
TCHAR szWaveInDevName[MAXPNAMELEN];
|
||
TCHAR szWaveOutDevName[MAXPNAMELEN];
|
||
} AUDIOWIZOUTPUT, *PAUDIOWIZOUTPUT;
|
||
|
||
//for now set uDevId to WAVE_MAPPER - later that will allow user to
|
||
//select the device.
|
||
//uOptions-rundue_userinvoked brings up just the calibration pages
|
||
//uOptions-rundue_cardchange or rundue_neverbefore also invoked full duplex check pages.
|
||
|
||
BOOL GetAudioWizardPages(UINT uOptions, UINT uDevId,
|
||
LPPROPSHEETPAGE *plpPropSheetPages, PWIZCONFIG *plpWizConfig,LPUINT lpuNumPages);
|
||
|
||
void ReleaseAudioWizardPages(LPPROPSHEETPAGE lpPropSheetPages,
|
||
PWIZCONFIG pWizConfig,PAUDIOWIZOUTPUT pAudioWizOut);
|
||
|
||
// Global flag keeps setting that changed for windows msg broadcast
|
||
INT_PTR CallAudioCalibWizard(HWND hwndOwner, UINT uOptions,
|
||
UINT uDevId,PAUDIOWIZOUTPUT pAudioWizOut,INT iSetAgc);
|
||
|
||
VOID CmdAudioCalibWizard(HWND hwnd);
|
||
|
||
#endif //#ifndef _AUDIOWIZ_H
|
||
|