4 #define AL_NUM_SOURCE_PARAMS 128
7 #include "alAuxEffectSlot.h"
10 #define AL_DIRECT_FILTER 0x20005
11 #define AL_AUXILIARY_SEND_FILTER 0x20006
12 #define AL_AIR_ABSORPTION_FACTOR 0x20007
13 #define AL_ROOM_ROLLOFF_FACTOR 0x20008
14 #define AL_CONE_OUTER_GAINHF 0x20009
15 #define AL_DIRECT_FILTER_GAINHF_AUTO 0x2000A
16 #define AL_AUXILIARY_SEND_FILTER_GAIN_AUTO 0x2000B
17 #define AL_AUXILIARY_SEND_FILTER_GAINHF_AUTO 0x2000C
23 typedef struct ALbufferlistitem
28 struct ALbufferlistitem
*next
;
31 typedef struct ALsource_struct
40 ALfloat flRefDistance
;
41 ALfloat flMaxDistance
;
42 ALfloat flRollOffFactor
;
45 ALfloat vOrientation
[3];
46 ALboolean bHeadRelative
;
55 ALuint position_fraction
;
56 struct ALbufferlistitem
*queue
; // Linked list of buffers in queue
57 ALuint BuffersInQueue
; // Number of buffers in queue
58 ALuint BuffersProcessed
; // Number of buffers already processed (played)
60 ALuint TotalBufferDataSize
; // Total amount of data contained in the buffers queued for this source
61 ALuint BuffersPlayed
; // Number of buffers played on this loop
62 ALuint BufferPosition
; // Read position in audio data of current buffer
64 ALfilter DirectFilter
;
71 ALfloat LastDrySample
;
72 ALfloat LastWetSample
;
74 ALboolean DryGainHFAuto
;
75 ALboolean WetGainHFAuto
;
78 ALfloat AirAbsorptionFactor
;
88 // Source Type (Static, Streaming, or Undetermined)
91 struct ALsource_struct
*next
;