diff options
-rw-r--r-- | alc/alu.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/alc/alu.cpp b/alc/alu.cpp index f312c161..48641f93 100644 --- a/alc/alu.cpp +++ b/alc/alu.cpp @@ -1579,11 +1579,11 @@ void CalcSourceParams(ALvoice *voice, ALCcontext *context, bool force) AtomicReplaceHead(context->mFreeVoiceProps, props); } - if((voice->mProps.mSpatializeMode == SpatializeAuto && voice->mFmtChannels == FmtMono) || - voice->mProps.mSpatializeMode == SpatializeOn) - CalcAttnSourceParams(voice, &voice->mProps, context); - else + if(voice->mProps.DirectChannels || voice->mProps.mSpatializeMode == SpatializeOff + || (voice->mProps.mSpatializeMode == SpatializeAuto && voice->mFmtChannels != FmtMono)) CalcNonAttnSourceParams(voice, &voice->mProps, context); + else + CalcAttnSourceParams(voice, &voice->mProps, context); } |