windows-nt/Source/XPSP1/NT/enduser/netmeeting/ui/conf/audiowiz.h
2020-09-26 16:20:57 +08:00

83 lines
3.2 KiB
C
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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