mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
3.2 KiB
83 lines
3.2 KiB
#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
|
|
|