1 // NOTE: The effect structure is getting too large, it may be a good idea to
2 // start using a union or another form of unified storage.
19 extern ALboolean DisabledEffects
[MAX_EFFECTS
];
21 typedef struct ALeffect
23 // Effect type (AL_EFFECT_NULL, ...)
27 // Shared Reverb Properties
34 ALfloat ReflectionsGain
;
35 ALfloat ReflectionsDelay
;
36 ALfloat LateReverbGain
;
37 ALfloat LateReverbDelay
;
38 ALfloat AirAbsorptionGainHF
;
39 ALfloat RoomRolloffFactor
;
40 ALboolean DecayHFLimit
;
42 // Additional EAX Reverb Properties
45 ALfloat ReflectionsPan
[3];
46 ALfloat LateReverbPan
[3];
49 ALfloat ModulationTime
;
50 ALfloat ModulationDepth
;
68 struct ALeffect
*next
;
71 AL_API ALvoid AL_APIENTRY
alGenEffects(ALsizei n
, ALuint
*effects
);
72 AL_API ALvoid AL_APIENTRY
alDeleteEffects(ALsizei n
, ALuint
*effects
);
73 AL_API ALboolean AL_APIENTRY
alIsEffect(ALuint effect
);
75 AL_API ALvoid AL_APIENTRY
alEffecti(ALuint effect
, ALenum param
, ALint iValue
);
76 AL_API ALvoid AL_APIENTRY
alEffectiv(ALuint effect
, ALenum param
, ALint
*piValues
);
77 AL_API ALvoid AL_APIENTRY
alEffectf(ALuint effect
, ALenum param
, ALfloat flValue
);
78 AL_API ALvoid AL_APIENTRY
alEffectfv(ALuint effect
, ALenum param
, ALfloat
*pflValues
);
80 AL_API ALvoid AL_APIENTRY
alGetEffecti(ALuint effect
, ALenum param
, ALint
*piValue
);
81 AL_API ALvoid AL_APIENTRY
alGetEffectiv(ALuint effect
, ALenum param
, ALint
*piValues
);
82 AL_API ALvoid AL_APIENTRY
alGetEffectf(ALuint effect
, ALenum param
, ALfloat
*pflValue
);
83 AL_API ALvoid AL_APIENTRY
alGetEffectfv(ALuint effect
, ALenum param
, ALfloat
*pflValues
);
85 ALvoid
ReleaseALEffects(ALCdevice
*device
);