diff options
author | Chris Robinson <[email protected]> | 2019-07-29 15:40:17 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2019-07-29 15:40:17 -0700 |
commit | 0a26bab14e0100b883f59958f3ce417888cebc62 (patch) | |
tree | 2ef9bb6a2f100366eed14bcbaf51edecab6211ca /al/alEffect.h | |
parent | 8ccb7604d30147583fda134e220807f3dc2f07e5 (diff) |
Rename the OpenAL32 directory to al
Diffstat (limited to 'al/alEffect.h')
-rw-r--r-- | al/alEffect.h | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/al/alEffect.h b/al/alEffect.h new file mode 100644 index 00000000..270b8e20 --- /dev/null +++ b/al/alEffect.h @@ -0,0 +1,61 @@ +#ifndef AL_EFFECT_H +#define AL_EFFECT_H + +#include "AL/al.h" +#include "AL/efx.h" + +#include "effects/base.h" + + +enum { + EAXREVERB_EFFECT = 0, + REVERB_EFFECT, + AUTOWAH_EFFECT, + CHORUS_EFFECT, + COMPRESSOR_EFFECT, + DISTORTION_EFFECT, + ECHO_EFFECT, + EQUALIZER_EFFECT, + FLANGER_EFFECT, + FSHIFTER_EFFECT, + MODULATOR_EFFECT, + PSHIFTER_EFFECT, + VMORPHER_EFFECT, + DEDICATED_EFFECT, + + MAX_EFFECTS +}; +extern ALboolean DisabledEffects[MAX_EFFECTS]; + +extern ALfloat ReverbBoost; + +struct EffectList { + const char name[16]; + int type; + ALenum val; +}; +extern const EffectList gEffectList[15]; + + +struct ALeffect { + // Effect type (AL_EFFECT_NULL, ...) + ALenum type{AL_EFFECT_NULL}; + + EffectProps Props{}; + + const EffectVtable *vtab{nullptr}; + + /* Self ID */ + ALuint id{0u}; +}; + +inline ALboolean IsReverbEffect(ALenum type) +{ return type == AL_EFFECT_REVERB || type == AL_EFFECT_EAXREVERB; } + +EffectStateFactory *getFactoryByType(ALenum type); + +void InitEffect(ALeffect *effect); + +void LoadReverbPreset(const char *name, ALeffect *effect); + +#endif |