diff options
Diffstat (limited to 'OpenAL32/Include/alSource.h')
-rw-r--r-- | OpenAL32/Include/alSource.h | 39 |
1 files changed, 18 insertions, 21 deletions
diff --git a/OpenAL32/Include/alSource.h b/OpenAL32/Include/alSource.h index ecc62a37..3fb3e553 100644 --- a/OpenAL32/Include/alSource.h +++ b/OpenAL32/Include/alSource.h @@ -30,11 +30,6 @@ typedef struct ALbufferlistitem { } ALbufferlistitem; -typedef struct ALactivesource { - struct ALsource *Source; -} ALactivesource; - - typedef struct HrtfState { ALboolean Moving; ALuint Counter; @@ -84,6 +79,24 @@ typedef struct SendParams { } SendParams; +typedef struct ALactivesource { + struct ALsource *Source; + + /** Method to update mixing parameters. */ + ALvoid (*Update)(struct ALactivesource *self, const ALCcontext *context); + + /** Current target parameters used for mixing. */ + ResamplerFunc Resample; + DryMixerFunc DryMix; + WetMixerFunc WetMix; + + ALint Step; + + DirectParams Direct; + SendParams Send[MAX_SENDS]; +} ALactivesource; + + typedef struct ALsource { /** Source properties. */ volatile ALfloat Pitch; @@ -159,28 +172,12 @@ typedef struct ALsource { /** HRTF info. */ HrtfState Hrtf; - /** Current target parameters used for mixing. */ - struct { - ResamplerFunc Resample; - DryMixerFunc DryMix; - WetMixerFunc WetMix; - - ALint Step; - - DirectParams Direct; - - SendParams Send[MAX_SENDS]; - } Params; /** Source needs to update its mixing parameters. */ volatile ALenum NeedsUpdate; - /** Method to update mixing parameters. */ - ALvoid (*Update)(struct ALsource *self, const ALCcontext *context); - /** Self ID */ ALuint id; } ALsource; -#define ALsource_Update(s,a) ((s)->Update(s,a)) inline struct ALsource *LookupSource(ALCcontext *context, ALuint id) { return (struct ALsource*)LookupUIntMapKey(&context->SourceMap, id); } |