aboutsummaryrefslogtreecommitdiffstats
path: root/OpenAL32/Include
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2008-11-16 00:29:49 -0800
committerChris Robinson <[email protected]>2008-11-16 00:29:49 -0800
commitc0ccd31a3e5294ffa6f138ff755177cd9bad6a4b (patch)
treeea66f6c89ba033ff16cfbca970ef6ed056a7e770 /OpenAL32/Include
parentd72b132c57145bd6cd4c531fe0a8c65b348c2c29 (diff)
Implement a new reverb effect
Code created and graciously provided by Christopher Fitzgerald
Diffstat (limited to 'OpenAL32/Include')
-rw-r--r--OpenAL32/Include/alAuxEffectSlot.h11
-rw-r--r--OpenAL32/Include/alReverb.h26
2 files changed, 28 insertions, 9 deletions
diff --git a/OpenAL32/Include/alAuxEffectSlot.h b/OpenAL32/Include/alAuxEffectSlot.h
index 032933a2..cc5b9d34 100644
--- a/OpenAL32/Include/alAuxEffectSlot.h
+++ b/OpenAL32/Include/alAuxEffectSlot.h
@@ -4,6 +4,7 @@
#include "AL/al.h"
#include "alEffect.h"
#include "alFilter.h"
+#include "alReverb.h"
#ifdef __cplusplus
extern "C" {
@@ -22,15 +23,7 @@ typedef struct ALeffectslot
ALfloat Gain;
ALboolean AuxSendAuto;
- ALfloat *ReverbBuffer;
- // in frames!
- ALuint ReverbLength;
- ALuint ReverbPos;
- ALuint ReverbReflectPos;
- ALuint ReverbLatePos;
- ALfloat ReverbDecayGain;
-
- FILTER iirFilter;
+ ALverbState *ReverbState;
ALuint refcount;
diff --git a/OpenAL32/Include/alReverb.h b/OpenAL32/Include/alReverb.h
new file mode 100644
index 00000000..46c7194c
--- /dev/null
+++ b/OpenAL32/Include/alReverb.h
@@ -0,0 +1,26 @@
+#ifndef _AL_REVERB_H_
+#define _AL_REVERB_H_
+
+#include "AL/al.h"
+#include "AL/alc.h"
+#include "alMain.h"
+#include "alAuxEffectSlot.h"
+#include "alEffect.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct ALverbState ALverbState;
+
+ALverbState *VerbCreate(ALCcontext *Context);
+ALvoid VerbDestroy(ALverbState *State);
+ALvoid VerbUpdate(ALCcontext *Context, struct ALeffectslot *Slot, ALeffect *Effect);
+ALvoid VerbProcess(ALverbState *State, ALuint SamplesToDo, const ALfloat *SamplesIn, ALfloat (*SamplesOut)[OUTPUTCHANNELS]);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+