1 #ifndef _AL_LISTENER_H_
2 #define _AL_LISTENER_H_
11 struct ALcontextProps
{
12 ALfloat DopplerFactor
;
13 ALfloat DopplerVelocity
;
15 ALboolean SourceDistanceModel
;
16 enum DistanceModel DistanceModel
;
17 ALfloat MetersPerUnit
;
19 ATOMIC(struct ALcontextProps
*) next
;
22 struct ALlistenerProps
{
29 ATOMIC(struct ALlistenerProps
*) next
;
32 typedef struct ALlistener
{
33 alignas(16) ALfloat Position
[3];
39 ATOMIC_FLAG PropsClean
;
41 /* Pointer to the most recent property values that are awaiting an update.
43 ATOMIC(struct ALlistenerProps
*) Update
;
45 /* A linked list of unused property containers, free to use for future
48 ATOMIC(struct ALlistenerProps
*) FreeList
;
55 ALfloat MetersPerUnit
;
57 ALfloat DopplerFactor
;
58 ALfloat SpeedOfSound
; /* in units per sec! */
59 ALfloat ReverbSpeedOfSound
; /* in meters per sec! */
61 ALboolean SourceDistanceModel
;
62 enum DistanceModel DistanceModel
;
66 void UpdateListenerProps(ALCcontext
*context
);