21 RESAMPLER_DEFAULT
= LINEAR_RESAMPLER
23 extern resampler_t DefaultResampler
;
25 typedef struct ALbufferlistitem
27 struct ALbuffer
*buffer
;
28 struct ALbufferlistitem
*next
;
31 typedef struct ALsource
40 ALfloat flRefDistance
;
41 ALfloat flMaxDistance
;
42 ALfloat flRollOffFactor
;
45 ALfloat vOrientation
[3];
46 ALboolean bHeadRelative
;
50 resampler_t Resampler
;
54 ALuint position_fraction
;
56 struct ALbuffer
*Buffer
;
58 struct ALbufferlistitem
*queue
; // Linked list of buffers in queue
59 ALuint BuffersInQueue
; // Number of buffers in queue
60 ALuint BuffersPlayed
; // Number of buffers played on this loop
62 ALfilter DirectFilter
;
65 struct ALeffectslot
*Slot
;
69 ALboolean DryGainHFAuto
;
70 ALboolean WetGainAuto
;
71 ALboolean WetGainHFAuto
;
74 ALfloat AirAbsorptionFactor
;
75 ALfloat RoomRolloffFactor
;
76 ALfloat DopplerFactor
;
81 // Source Type (Static, Streaming, or Undetermined)
84 // Current gains, which are ramped while mixed
85 ALfloat DryGains
[OUTPUTCHANNELS
];
86 ALfloat WetGains
[MAX_SENDS
];
89 // Current target parameters used for mixing
90 ALboolean NeedsUpdate
;
92 ALfloat DryGains
[OUTPUTCHANNELS
];
93 ALfloat WetGains
[MAX_SENDS
];
98 ALfloat history
[OUTPUTCHANNELS
];
102 ALfloat history
[OUTPUTCHANNELS
*2];
109 ALvoid
ReleaseALSources(ALCcontext
*Context
);