18#define AL_EFFECTSLOT_NULL 0x0000
19#define AL_EFFECTSLOT_EFFECT 0x0001
20#define AL_EFFECTSLOT_GAIN 0x0002
21#define AL_EFFECTSLOT_AUXILIARY_SEND_AUTO 0x0003
23#define AL_FILTER_TYPE 0x8001
24#define AL_FILTER_NULL 0x0000
25#define AL_FILTER_LOWPASS 0x0001
26#define AL_FILTER_HIGHPASS 0x0002
27#define AL_FILTER_BANDPASS 0x0003
29#define AL_EFFECT_TYPE 0x8001
30#define AL_EFFECT_NULL 0x0000
31#define AL_EFFECT_EAXREVERB 0x8000
32#define AL_EFFECT_REVERB 0x0001
33#define AL_EFFECT_CHORUS 0x0002
34#define AL_EFFECT_DISTORTION 0x0003
35#define AL_EFFECT_ECHO 0x0004
36#define AL_EFFECT_FLANGER 0x0005
37#define AL_EFFECT_FREQUENCY_SHIFTER 0x0006
38#define AL_EFFECT_VOCAL_MORPHER 0x0007
39#define AL_EFFECT_PITCH_SHIFTER 0x0008
40#define AL_EFFECT_RING_MODULATOR 0x0009
41#define AL_EFFECT_AUTOWAH 0x000A
42#define AL_EFFECT_COMPRESSOR 0x000B
43#define AL_EFFECT_EQUALIZER 0x000C
45#define AL_REVERB_DENSITY 0x0001
46#define AL_REVERB_DIFFUSION 0x0002
47#define AL_REVERB_GAIN 0x0003
48#define AL_REVERB_GAINHF 0x0004
49#define AL_REVERB_DECAY_TIME 0x0005
50#define AL_REVERB_DECAY_HFRATIO 0x0006
51#define AL_REVERB_REFLECTIONS_GAIN 0x0007
52#define AL_REVERB_REFLECTIONS_DELAY 0x0008
53#define AL_REVERB_LATE_REVERB_GAIN 0x0009
54#define AL_REVERB_LATE_REVERB_DELAY 0x000A
55#define AL_REVERB_AIR_ABSORPTION_GAINHF 0x000B
56#define AL_REVERB_ROOM_ROLLOFF_FACTOR 0x000C
57#define AL_REVERB_DECAY_HFLIMIT 0x000D
59#define AL_ECHO_DELAY 0x0001
60#define AL_ECHO_LRDELAY 0x0002
61#define AL_ECHO_DAMPING 0x0003
62#define AL_ECHO_FEEDBACK 0x0004
63#define AL_ECHO_SPREAD 0x0005
65#define AL_METERS_PER_UNIT 0x20004
67#define AL_DIRECT_FILTER 0x20005
68#define AL_AUXILIARY_SEND_FILTER 0x20006
69#define AL_AIR_ABSORPTION_FACTOR 0x20007
70#define AL_ROOM_ROLLOFF_FACTOR 0x20008
71#define AL_CONE_OUTER_GAINHF 0x20009
72#define AL_DIRECT_FILTER_GAINHF_AUTO 0x2000A
73#define AL_AUXILIARY_SEND_FILTER_GAIN_AUTO 0x2000B
74#define AL_AUXILIARY_SEND_FILTER_GAINHF_AUTO 0x2000C
76#define ALC_EFX_MAJOR_VERSION 0x20001
77#define ALC_EFX_MINOR_VERSION 0x20002
78#define ALC_MAX_AUXILIARY_SENDS 0x20003
81extern ALvoid (AL_APIENTRY *nalGenAuxiliaryEffectSlots)(ALsizei,ALuint*);
82extern ALvoid (AL_APIENTRY *nalDeleteAuxiliaryEffectSlots)(ALsizei,ALuint*);
83extern ALboolean (AL_APIENTRY *nalIsAuxiliaryEffectSlot)(ALuint);
84extern ALvoid (AL_APIENTRY *nalAuxiliaryEffectSloti)(ALuint,ALenum,ALint);
85extern ALvoid (AL_APIENTRY *nalAuxiliaryEffectSlotiv)(ALuint,ALenum,ALint*);
86extern ALvoid (AL_APIENTRY *nalAuxiliaryEffectSlotf)(ALuint,ALenum,ALfloat);
87extern ALvoid (AL_APIENTRY *nalAuxiliaryEffectSlotfv)(ALuint,ALenum,ALfloat*);
88extern ALvoid (AL_APIENTRY *nalGetAuxiliaryEffectSloti)(ALuint,ALenum,ALint*);
89extern ALvoid (AL_APIENTRY *nalGetAuxiliaryEffectSlotiv)(ALuint,ALenum,ALint*);
90extern ALvoid (AL_APIENTRY *nalGetAuxiliaryEffectSlotf)(ALuint,ALenum,ALfloat*);
91extern ALvoid (AL_APIENTRY *nalGetAuxiliaryEffectSlotfv)(ALuint,ALenum,ALfloat*);
93extern ALvoid (AL_APIENTRY *nalGenFilters)(ALsizei,ALuint*);
94extern ALvoid (AL_APIENTRY *nalDeleteFilters)(ALsizei,ALuint*);
95extern ALvoid (AL_APIENTRY *nalFilteri)(ALuint,ALenum,ALint);
96extern ALvoid (AL_APIENTRY *nalFilteriv)(ALuint,ALenum,ALint*);
97extern ALvoid (AL_APIENTRY *nalFilterf)(ALuint,ALenum,ALfloat);
98extern ALvoid (AL_APIENTRY *nalFilterfv)(ALuint,ALenum,ALfloat*);
100extern ALvoid (AL_APIENTRY *nalGenEffects)(ALsizei,ALuint*);
101extern ALvoid (AL_APIENTRY *nalDeleteEffects)(ALsizei,ALuint*);
102extern ALvoid (AL_APIENTRY *nalEffecti)(ALuint,ALenum,ALint);
103extern ALvoid (AL_APIENTRY *nalEffectiv)(ALuint,ALenum,ALint*);
104extern ALvoid (AL_APIENTRY *nalEffectf)(ALuint,ALenum,ALfloat);
105extern ALvoid (AL_APIENTRY *nalEffectfv)(ALuint,ALenum,ALfloat*);
109#define al_checkErr() al_checkHandleError( alGetError(), __func__, __LINE__ )
110void al_checkHandleError( ALenum err,
const char *func,
int line );