From 238f59f229c3c7920cb636a1426b07db330fd34f Mon Sep 17 00:00:00 2001 From: humbletim Date: Fri, 20 Apr 2018 00:08:25 -0400 Subject: [PATCH 1/2] make positional streams honor user-specified gain overrides --- assignment-client/src/audio/AudioMixerSlave.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/assignment-client/src/audio/AudioMixerSlave.cpp b/assignment-client/src/audio/AudioMixerSlave.cpp index 3c8e38f278..25964d6674 100644 --- a/assignment-client/src/audio/AudioMixerSlave.cpp +++ b/assignment-client/src/audio/AudioMixerSlave.cpp @@ -376,6 +376,11 @@ void AudioMixerSlave::addStream(AudioMixerClientData& listenerNodeData, const QU return; } + if (streamToAdd.getType() == PositionalAudioStream::Injector) { + // apply per-avatar gain to positional audio injectors, which wouldn't otherwise be affected by PAL sliders + gain *= listenerNodeData.hrtfForStream(sourceNodeID, QUuid()).getGainAdjustment(); + } + hrtf.render(_bufferSamples, _mixSamples, HRTF_DATASET_INDEX, azimuth, distance, gain, AudioConstants::NETWORK_FRAME_SAMPLES_PER_CHANNEL); From b86f553550768e0269b60eae8c91c0488851c263 Mon Sep 17 00:00:00 2001 From: humbletim Date: Fri, 20 Apr 2018 15:34:43 -0400 Subject: [PATCH 2/2] poke per-avatar gain into per-stream HRTF --- assignment-client/src/audio/AudioMixerSlave.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assignment-client/src/audio/AudioMixerSlave.cpp b/assignment-client/src/audio/AudioMixerSlave.cpp index 25964d6674..b447048ac9 100644 --- a/assignment-client/src/audio/AudioMixerSlave.cpp +++ b/assignment-client/src/audio/AudioMixerSlave.cpp @@ -378,7 +378,7 @@ void AudioMixerSlave::addStream(AudioMixerClientData& listenerNodeData, const QU if (streamToAdd.getType() == PositionalAudioStream::Injector) { // apply per-avatar gain to positional audio injectors, which wouldn't otherwise be affected by PAL sliders - gain *= listenerNodeData.hrtfForStream(sourceNodeID, QUuid()).getGainAdjustment(); + hrtf.setGainAdjustment(listenerNodeData.hrtfForStream(sourceNodeID, QUuid()).getGainAdjustment()); } hrtf.render(_bufferSamples, _mixSamples, HRTF_DATASET_INDEX, azimuth, distance, gain,