From 602600350875ca0b1dbad6a096167f711e3740f0 Mon Sep 17 00:00:00 2001 From: DS Date: Wed, 18 Oct 2023 20:16:45 +0200 Subject: [PATCH] Warn only once about positional stereo sounds (#13895) --- src/client/sound/sound_manager.cpp | 5 ++++- src/client/sound/sound_manager.h | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/client/sound/sound_manager.cpp b/src/client/sound/sound_manager.cpp index fcc3559a5..56061a75a 100644 --- a/src/client/sound/sound_manager.cpp +++ b/src/client/sound/sound_manager.cpp @@ -164,10 +164,13 @@ std::shared_ptr OpenALSoundManager::createPlayingSound( return nullptr; } - if (lsnd->m_decode_info.is_stereo && pos_vel_opt.has_value()) { + if (lsnd->m_decode_info.is_stereo && pos_vel_opt.has_value() + && m_warned_positional_stereo_sounds.find(sound_name) + == m_warned_positional_stereo_sounds.end()) { warningstream << "OpenALSoundManager::createPlayingSound: " << "Creating positional stereo sound \"" << sound_name << "\"." << std::endl; + m_warned_positional_stereo_sounds.insert(sound_name); } ALuint source_id; diff --git a/src/client/sound/sound_manager.h b/src/client/sound/sound_manager.h index 7da18ccbf..8d0ccf837 100644 --- a/src/client/sound/sound_manager.h +++ b/src/client/sound/sound_manager.h @@ -77,6 +77,9 @@ private: // if true, all sounds will be directly paused after creation bool m_is_paused = false; + // used for printing warnings only once + std::unordered_set m_warned_positional_stereo_sounds; + public: // used for communication with ProxySoundManager MutexedQueue m_queue_to_mgr;