diff options
author | Chris Robinson <[email protected]> | 2010-09-26 01:15:27 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2010-09-26 01:15:27 -0700 |
commit | 9fbd6c6c3f0e4c486cdf37823369959e43ac88c3 (patch) | |
tree | a0a4480d2b088e26fbf48a7dedcd68bd455a64fe /OpenAL32/alSource.c | |
parent | 08fdc5fa98c96035b4c2c1c873bfa15895542ef2 (diff) |
Make the SourceMix function a method of the ALsource struct
Diffstat (limited to 'OpenAL32/alSource.c')
-rw-r--r-- | OpenAL32/alSource.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/OpenAL32/alSource.c b/OpenAL32/alSource.c index 3b877926..f64bf9e6 100644 --- a/OpenAL32/alSource.c +++ b/OpenAL32/alSource.c @@ -563,6 +563,8 @@ AL_API ALvoid AL_APIENTRY alSourcei(ALuint source,ALenum eParam,ALint lValue) else Source->Update = CalcNonAttnSourceParams; + Source->Mix = MixSource; + // Increment reference counter for buffer buffer->refcount++; } @@ -1593,10 +1595,14 @@ AL_API ALvoid AL_APIENTRY alSourceQueueBuffers(ALuint source, ALsizei n, const A { Frequency = buffer->frequency; Format = buffer->eOriginalFormat; + if(aluChannelsFromFormat(buffer->format) == 1) Source->Update = CalcSourceParams; else Source->Update = CalcNonAttnSourceParams; + + Source->Mix = MixSource; + Source->NeedsUpdate = AL_TRUE; } else if(Frequency != buffer->frequency || Format != buffer->eOriginalFormat) |