From 9c45055aebec9f61ffd6997f7988783770d25e1c Mon Sep 17 00:00:00 2001 From: Atlante45 Date: Wed, 22 Oct 2014 23:32:07 -0700 Subject: [PATCH] Fixed for no/multiple reverb zones --- assignment-client/src/audio/AudioMixer.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/assignment-client/src/audio/AudioMixer.cpp b/assignment-client/src/audio/AudioMixer.cpp index fbd414f6c1..8d87638434 100644 --- a/assignment-client/src/audio/AudioMixer.cpp +++ b/assignment-client/src/audio/AudioMixer.cpp @@ -731,6 +731,7 @@ void AudioMixer::run() { dataAt += sizeof(quint16); // Pack stream properties + bool inAZone = false; for (int i = 0; i < _zoneReverbSettings.size(); ++i) { AudioMixerClientData* data = static_cast(node->getLinkedData()); glm::vec3 streamPosition = data->getAvatarAudioStream()->getPosition(); @@ -745,12 +746,16 @@ void AudioMixer::run() { dataAt += sizeof(float); memcpy(dataAt, &wetLevel, sizeof(float)); dataAt += sizeof(float); - } else { - bool hasReverb = false; - memcpy(dataAt, &hasReverb, sizeof(bool)); - dataAt += sizeof(bool); + + inAZone = true; + break; } } + if (!inAZone) { + bool hasReverb = false; + memcpy(dataAt, &hasReverb, sizeof(bool)); + dataAt += sizeof(bool); + } // pack mixed audio samples memcpy(dataAt, _mixSamples, NETWORK_BUFFER_LENGTH_BYTES_STEREO);