10 #define AL_EFFECT_TYPE 0x8001
12 #define AL_EFFECT_NULL 0x0000
13 #define AL_EFFECT_REVERB 0x0001
14 #define AL_EFFECT_CHORUS 0x0002
15 #define AL_EFFECT_DISTORTION 0x0003
16 #define AL_EFFECT_ECHO 0x0004
17 #define AL_EFFECT_FLANGER 0x0005
18 #define AL_EFFECT_FREQUENCY_SHIFTER 0x0006
19 #define AL_EFFECT_VOCAL_MORPHER 0x0007
20 #define AL_EFFECT_PITCH_SHIFTER 0x0008
21 #define AL_EFFECT_RING_MODULATOR 0x0009
22 #define AL_EFFECT_AUTOWAH 0x000A
23 #define AL_EFFECT_COMPRESSOR 0x000B
24 #define AL_EFFECT_EQUALIZER 0x000C
26 #define AL_REVERB_DENSITY 0x0001
27 #define AL_REVERB_DIFFUSION 0x0002
28 #define AL_REVERB_GAIN 0x0003
29 #define AL_REVERB_GAINHF 0x0004
30 #define AL_REVERB_DECAY_TIME 0x0005
31 #define AL_REVERB_DECAY_HFRATIO 0x0006
32 #define AL_REVERB_REFLECTIONS_GAIN 0x0007
33 #define AL_REVERB_REFLECTIONS_DELAY 0x0008
34 #define AL_REVERB_LATE_REVERB_GAIN 0x0009
35 #define AL_REVERB_LATE_REVERB_DELAY 0x000A
36 #define AL_REVERB_AIR_ABSORPTION_GAINHF 0x000B
37 #define AL_REVERB_ROOM_ROLLOFF_FACTOR 0x000C
38 #define AL_REVERB_DECAY_HFLIMIT 0x000D
41 typedef struct ALeffect_struct
43 // Effect type (AL_EFFECT_NULL, ...)
54 ALfloat ReflectionsGain
;
55 ALfloat ReflectionsDelay
;
56 ALfloat LateReverbGain
;
57 ALfloat LateReverbDelay
;
58 ALfloat AirAbsorptionGainHF
;
59 ALfloat RoomRolloffFactor
;
60 ALboolean DecayHFLimit
;
66 struct ALeffect_struct
*next
;
69 AL_API ALvoid AL_APIENTRY
alGenEffects(ALsizei n
, ALuint
*effects
);
70 AL_API ALvoid AL_APIENTRY
alDeleteEffects(ALsizei n
, ALuint
*effects
);
71 AL_API ALboolean AL_APIENTRY
alIsEffect(ALuint effect
);
73 AL_API ALvoid AL_APIENTRY
alEffecti(ALuint effect
, ALenum param
, ALint iValue
);
74 AL_API ALvoid AL_APIENTRY
alEffectiv(ALuint effect
, ALenum param
, ALint
*piValues
);
75 AL_API ALvoid AL_APIENTRY
alEffectf(ALuint effect
, ALenum param
, ALfloat flValue
);
76 AL_API ALvoid AL_APIENTRY
alEffectfv(ALuint effect
, ALenum param
, ALfloat
*pflValues
);
78 AL_API ALvoid AL_APIENTRY
alGetEffecti(ALuint effect
, ALenum param
, ALint
*piValue
);
79 AL_API ALvoid AL_APIENTRY
alGetEffectiv(ALuint effect
, ALenum param
, ALint
*piValues
);
80 AL_API ALvoid AL_APIENTRY
alGetEffectf(ALuint effect
, ALenum param
, ALfloat
*pflValue
);
81 AL_API ALvoid AL_APIENTRY
alGetEffectfv(ALuint effect
, ALenum param
, ALfloat
*pflValues
);
83 ALvoid
ReleaseALEffects(ALvoid
);