Skip to content

Commit

Permalink
Merge pull request #841 from overte-org/fix/avatar_volume_adjustment
Browse files Browse the repository at this point in the history
Fixed avatar volume adjustment
  • Loading branch information
ksuprynowicz committed Mar 1, 2024
2 parents a1089b5 + 6be71a7 commit d589403
Showing 1 changed file with 14 additions and 4 deletions.
18 changes: 14 additions & 4 deletions assignment-client/src/audio/AudioMixerClientData.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -222,13 +222,23 @@ void AudioMixerClientData::parseInjectorGainSet(ReceivedMessage& message, const
qCDebug(audio) << "Setting MASTER injector gain for" << uuid << "to" << gain;
}

void AudioMixerClientData::setGainForAvatar(QUuid nodeID, float gain) {
auto it = std::find_if(_streams.active.cbegin(), _streams.active.cend(), [nodeID](const MixableStream& mixableStream){
bool setGainInStreams(const QUuid &nodeID, float gain, std::vector<AudioMixerClientData::MixableStream> &streamVector) {
auto itActive = std::find_if(streamVector.cbegin(), streamVector.cend(),
[nodeID](const AudioMixerClientData::MixableStream& mixableStream){
return mixableStream.nodeStreamID.nodeID == nodeID && mixableStream.nodeStreamID.streamID.isNull();
});

if (it != _streams.active.cend()) {
it->hrtf->setGainAdjustment(gain);
if (itActive != streamVector.cend()) {
itActive->hrtf->setGainAdjustment(gain);
return true;
} else {
return false;
}
}

void AudioMixerClientData::setGainForAvatar(QUuid nodeID, float gain) {
if (!setGainInStreams(nodeID, gain, _streams.active)) {
setGainInStreams(nodeID, gain, _streams.inactive);
}
}

Expand Down

0 comments on commit d589403

Please sign in to comment.