From 3e19ba6ca86758fa356094fab9e85c959421f73f Mon Sep 17 00:00:00 2001 From: Chris Robinson Date: Fri, 15 Aug 2008 16:33:47 -0700 Subject: Clear channel volumes when starting a source --- OpenAL32/alSource.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'OpenAL32/alSource.c') diff --git a/OpenAL32/alSource.c b/OpenAL32/alSource.c index b5e36ea6..d7be7f63 100644 --- a/OpenAL32/alSource.c +++ b/OpenAL32/alSource.c @@ -1361,7 +1361,7 @@ ALAPI ALvoid ALAPIENTRY alSourcePlayv(ALsizei n, const ALuint *pSourceList) ALbufferlistitem *ALBufferList; ALboolean bSourcesValid = AL_TRUE; ALboolean bPlay; - ALsizei i; + ALsizei i, j; pContext = alcGetCurrentContext(); if (pContext) @@ -1404,6 +1404,14 @@ ALAPI ALvoid ALAPIENTRY alSourcePlayv(ALsizei n, const ALuint *pSourceList) if (bPlay) { + for(j = 0;j < OUTPUTCHANNELS;j++) + { + pSource->DryGains[j] = 0.0f; + pSource->WetGains[j] = 0.0f; + } + pSource->DryGainHF = 0.0f; + pSource->WetGainHF = 0.0f; + if (pSource->state != AL_PAUSED) { pSource->state = AL_PLAYING; -- cgit v1.2.3