diff options
author | Chris Robinson <[email protected]> | 2017-09-27 11:13:18 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2017-09-27 11:13:18 -0700 |
commit | 1ab890262168444c2f6e1a9d84c3d65e5afe37f5 (patch) | |
tree | 201157974888052def0b8c24cc3f61efa0ba0f8d /OpenAL32/Include/alAuxEffectSlot.h | |
parent | fd70b0bca6dcc97edf16d4567c84933576828230 (diff) |
Re-update effect slots when context properties change
Also keep all free property update structs together in the context instead of
per-object.
Diffstat (limited to 'OpenAL32/Include/alAuxEffectSlot.h')
-rw-r--r-- | OpenAL32/Include/alAuxEffectSlot.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/OpenAL32/Include/alAuxEffectSlot.h b/OpenAL32/Include/alAuxEffectSlot.h index fe05e008..908c72c5 100644 --- a/OpenAL32/Include/alAuxEffectSlot.h +++ b/OpenAL32/Include/alAuxEffectSlot.h @@ -110,13 +110,13 @@ typedef struct ALeffectslot { RefCount ref; ATOMIC(struct ALeffectslotProps*) Update; - ATOMIC(struct ALeffectslotProps*) FreeList; struct { ALfloat Gain; ALboolean AuxSendAuto; ALenum EffectType; + ALeffectProps EffectProps; ALeffectState *EffectState; ALfloat RoomRolloff; /* Added to the source's room rolloff, not multiplied. */ @@ -160,7 +160,7 @@ inline struct ALeffectslot *RemoveEffectSlot(ALCcontext *context, ALuint id) ALenum InitEffectSlot(ALeffectslot *slot); void DeinitEffectSlot(ALeffectslot *slot); -void UpdateEffectSlotProps(ALeffectslot *slot); +void UpdateEffectSlotProps(ALeffectslot *slot, ALCcontext *context); void UpdateAllEffectSlotProps(ALCcontext *context); ALvoid ReleaseALAuxiliaryEffectSlots(ALCcontext *Context); @@ -178,11 +178,13 @@ ALeffectStateFactory *ALmodulatorStateFactory_getFactory(void); ALeffectStateFactory *ALdedicatedStateFactory_getFactory(void); -ALenum InitializeEffect(ALCdevice *Device, ALeffectslot *EffectSlot, ALeffect *effect); +ALenum InitializeEffect(ALCcontext *Context, ALeffectslot *EffectSlot, ALeffect *effect); void InitEffectFactoryMap(void); void DeinitEffectFactoryMap(void); +void ALeffectState_DecRef(ALeffectState *state); + #ifdef __cplusplus } #endif |