aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--al/effect.cpp33
-rw-r--r--al/effect.h3
-rw-r--r--alc/inprogext.h5
3 files changed, 24 insertions, 17 deletions
diff --git a/al/effect.cpp b/al/effect.cpp
index c8d71190..fa39528b 100644
--- a/al/effect.cpp
+++ b/al/effect.cpp
@@ -50,22 +50,23 @@
#include "vector.h"
-const EffectList gEffectList[15]{
- { "eaxreverb", EAXREVERB_EFFECT, AL_EFFECT_EAXREVERB },
- { "reverb", REVERB_EFFECT, AL_EFFECT_REVERB },
- { "autowah", AUTOWAH_EFFECT, AL_EFFECT_AUTOWAH },
- { "chorus", CHORUS_EFFECT, AL_EFFECT_CHORUS },
- { "compressor", COMPRESSOR_EFFECT, AL_EFFECT_COMPRESSOR },
- { "distortion", DISTORTION_EFFECT, AL_EFFECT_DISTORTION },
- { "echo", ECHO_EFFECT, AL_EFFECT_ECHO },
- { "equalizer", EQUALIZER_EFFECT, AL_EFFECT_EQUALIZER },
- { "flanger", FLANGER_EFFECT, AL_EFFECT_FLANGER },
- { "fshifter", FSHIFTER_EFFECT, AL_EFFECT_FREQUENCY_SHIFTER },
- { "modulator", MODULATOR_EFFECT, AL_EFFECT_RING_MODULATOR },
- { "pshifter", PSHIFTER_EFFECT, AL_EFFECT_PITCH_SHIFTER },
- { "vmorpher", VMORPHER_EFFECT, AL_EFFECT_VOCAL_MORPHER },
- { "dedicated", DEDICATED_EFFECT, AL_EFFECT_DEDICATED_LOW_FREQUENCY_EFFECT },
- { "dedicated", DEDICATED_EFFECT, AL_EFFECT_DEDICATED_DIALOGUE },
+const EffectList gEffectList[16]{
+ { "eaxreverb", EAXREVERB_EFFECT, AL_EFFECT_EAXREVERB },
+ { "reverb", REVERB_EFFECT, AL_EFFECT_REVERB },
+ { "autowah", AUTOWAH_EFFECT, AL_EFFECT_AUTOWAH },
+ { "chorus", CHORUS_EFFECT, AL_EFFECT_CHORUS },
+ { "compressor", COMPRESSOR_EFFECT, AL_EFFECT_COMPRESSOR },
+ { "distortion", DISTORTION_EFFECT, AL_EFFECT_DISTORTION },
+ { "echo", ECHO_EFFECT, AL_EFFECT_ECHO },
+ { "equalizer", EQUALIZER_EFFECT, AL_EFFECT_EQUALIZER },
+ { "flanger", FLANGER_EFFECT, AL_EFFECT_FLANGER },
+ { "fshifter", FSHIFTER_EFFECT, AL_EFFECT_FREQUENCY_SHIFTER },
+ { "modulator", MODULATOR_EFFECT, AL_EFFECT_RING_MODULATOR },
+ { "pshifter", PSHIFTER_EFFECT, AL_EFFECT_PITCH_SHIFTER },
+ { "vmorpher", VMORPHER_EFFECT, AL_EFFECT_VOCAL_MORPHER },
+ { "dedicated", DEDICATED_EFFECT, AL_EFFECT_DEDICATED_LOW_FREQUENCY_EFFECT },
+ { "dedicated", DEDICATED_EFFECT, AL_EFFECT_DEDICATED_DIALOGUE },
+ { "convolution", CONVOLUTION_EFFECT, AL_EFFECT_CONVOLUTION_REVERB_SOFT },
};
bool DisabledEffects[MAX_EFFECTS];
diff --git a/al/effect.h b/al/effect.h
index 76215f40..28ce1f3e 100644
--- a/al/effect.h
+++ b/al/effect.h
@@ -22,6 +22,7 @@ enum {
PSHIFTER_EFFECT,
VMORPHER_EFFECT,
DEDICATED_EFFECT,
+ CONVOLUTION_EFFECT,
MAX_EFFECTS
};
@@ -34,7 +35,7 @@ struct EffectList {
int type;
ALenum val;
};
-extern const EffectList gEffectList[15];
+extern const EffectList gEffectList[16];
struct ALeffect {
diff --git a/alc/inprogext.h b/alc/inprogext.h
index 98bd636b..02aea760 100644
--- a/alc/inprogext.h
+++ b/alc/inprogext.h
@@ -99,6 +99,11 @@ AL_API void AL_APIENTRY alGetBufferPtrvSOFT(ALuint buffer, ALenum param, ALvoid
#define AL_UNPACK_AMBISONIC_ORDER_SOFT 0x199D
#endif
+#ifndef AL_SOFT_convolution_reverb
+#define AL_SOFT_convolution_reverb
+#define AL_EFFECT_CONVOLUTION_REVERB_SOFT 0xA000
+#endif
+
#ifdef __cplusplus
} /* extern "C" */
#endif