aboutsummaryrefslogtreecommitdiffstats
path: root/OpenAL32/Include/alSource.h
diff options
context:
space:
mode:
Diffstat (limited to 'OpenAL32/Include/alSource.h')
-rw-r--r--OpenAL32/Include/alSource.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/OpenAL32/Include/alSource.h b/OpenAL32/Include/alSource.h
index 5edbfd1e..09651fa5 100644
--- a/OpenAL32/Include/alSource.h
+++ b/OpenAL32/Include/alSource.h
@@ -3,8 +3,22 @@
#define AL_NUM_SOURCE_PARAMS 128
+/* This cannot be changed without working on the code! */
+#define MAX_SENDS 1
+
+#include "alFilter.h"
+#include "alAuxEffectSlot.h"
#include "AL/al.h"
+#define AL_DIRECT_FILTER 0x20005
+#define AL_AUXILIARY_SEND_FILTER 0x20006
+#define AL_AIR_ABSORPTION_FACTOR 0x20007
+#define AL_ROOM_ROLLOFF_FACTOR 0x20008
+#define AL_CONE_OUTER_GAINHF 0x20009
+#define AL_DIRECT_FILTER_GAINHF_AUTO 0x2000A
+#define AL_AUXILIARY_SEND_FILTER_GAIN_AUTO 0x2000B
+#define AL_AUXILIARY_SEND_FILTER_GAINHF_AUTO 0x2000C
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -50,6 +64,25 @@ typedef struct ALsource
ALuint BuffersPlayed; // Number of buffers played on this loop
ALuint BufferPosition; // Read position in audio data of current buffer
+ ALfilter DirectFilter;
+
+ struct {
+ ALeffectslot Slot;
+ ALfilter WetFilter;
+ } Send[MAX_SENDS];
+
+ ALfloat LastDrySample;
+ ALfloat LastWetSample;
+
+ ALboolean DryGainHFAuto;
+ ALboolean WetGainAuto;
+ ALboolean WetGainHFAuto;
+ ALfloat OuterGainHF;
+
+ ALfloat AirAbsorptionFactor;
+
+ ALfloat RoomRolloffFactor;
+
// Index to itself
ALuint source;