From aff8159756e1a5267b87c56bfcf70b74b974c299 Mon Sep 17 00:00:00 2001 From: CuriousTama Date: Thu, 22 Jan 2026 20:05:58 +0100 Subject: [PATCH 1/2] [clang-format] Update format rules and did a quick checkup on files --- .clang-format | 25 ++++++++++++--- src/audioPlayer/Audio_System.cpp | 5 ++- src/audioPlayer/Channel.cpp | 4 +-- src/audioPlayer/FileProcessing_MP3.cpp | 2 +- src/audioPlayer/FileProcessing_WAV.cpp | 13 ++++---- src/audioPlayer/Sound.cpp | 44 ++++++++++++++++---------- 6 files changed, 59 insertions(+), 34 deletions(-) diff --git a/.clang-format b/.clang-format index 2a094b1..f1fce69 100644 --- a/.clang-format +++ b/.clang-format @@ -1,13 +1,30 @@ --- AccessModifierOffset: '-4' AlignEscapedNewlines: Right +AlignTrailingComments: + Kind: Leave AllowShortBlocksOnASingleLine: 'false' AllowShortFunctionsOnASingleLine: All AllowShortIfStatementsOnASingleLine: Never +AllowShortLambdasOnASingleLine: Inline AllowShortLoopsOnASingleLine: 'false' AlwaysBreakAfterReturnType: None AlwaysBreakTemplateDeclarations: 'Yes' -BreakBeforeBraces: Allman +BraceWrapping: + BeforeLambdaBody: false + AfterNamespace: true + AfterStruct: true + AfterEnum: true + AfterObjCDeclaration: false + AfterClass: true + AfterFunction: true + BeforeWhile: true + AfterUnion: true + AfterExternBlock: true + BeforeCatch: true + BeforeElse: true + AfterControlStatement: Always +BreakBeforeBraces: Custom BreakBeforeTernaryOperators: 'true' BreakConstructorInitializers: BeforeComma BreakInheritanceList: BeforeComma @@ -25,8 +42,7 @@ MaxEmptyLinesToKeep: '1' NamespaceIndentation: All PointerAlignment: Left ReflowComments: 'false' -SortIncludes: 'true' -SortUsingDeclarations: 'true' +SortIncludes: 'false' SpaceAfterCStyleCast: 'false' SpaceAfterLogicalNot: 'false' SpaceAfterTemplateKeyword: 'false' @@ -45,5 +61,4 @@ SpacesInSquareBrackets: 'false' Standard: Cpp11 TabWidth: '4' UseTab: Never - -... +... \ No newline at end of file diff --git a/src/audioPlayer/Audio_System.cpp b/src/audioPlayer/Audio_System.cpp index b66b436..b778acc 100644 --- a/src/audioPlayer/Audio_System.cpp +++ b/src/audioPlayer/Audio_System.cpp @@ -35,7 +35,7 @@ Audio_System::~Audio_System() { m_pEngine->StopEngine(); m_pMaster->DestroyVoice(); - + for (auto [name, voice] : m_subVoices) { voice->DestroyVoice(); @@ -222,8 +222,7 @@ void Audio_System::removeChannel(const Channel& channel) const std::string Target_Mixer = channel.getMixerName(); auto it = std::find_if(std::begin(m_activeChannelPtrs[Target_Mixer]), std::end(m_activeChannelPtrs[Target_Mixer]), - [&channel](const std::unique_ptr& pChan) - { + [&channel](const std::unique_ptr& pChan) { return &channel == pChan.get(); }); diff --git a/src/audioPlayer/Channel.cpp b/src/audioPlayer/Channel.cpp index 771a423..3bd6640 100644 --- a/src/audioPlayer/Channel.cpp +++ b/src/audioPlayer/Channel.cpp @@ -98,8 +98,8 @@ Channel::~Channel() } } } - - } while (!DeactivatedEveryWhere); + } + while (!DeactivatedEveryWhere); m_pSource->Stop(); m_pSource->DestroyVoice(); diff --git a/src/audioPlayer/FileProcessing_MP3.cpp b/src/audioPlayer/FileProcessing_MP3.cpp index 1261372..0c851e6 100644 --- a/src/audioPlayer/FileProcessing_MP3.cpp +++ b/src/audioPlayer/FileProcessing_MP3.cpp @@ -1,6 +1,6 @@ #if (!MINIMP3_ONLY_SIMD) && _MSC_VER /* x64 always have SSE2, arm64 always have neon, no need for generic code */ - #define MINIMP3_ONLY_SIMD // error in x86 platform if not defined + #define MINIMP3_ONLY_SIMD // error in x86 platform if not defined #endif // (!MINIMP3_ONLY_SIMD) && _MSC_VER #define MINIMP3_IMPLEMENTATION diff --git a/src/audioPlayer/FileProcessing_WAV.cpp b/src/audioPlayer/FileProcessing_WAV.cpp index 4c089f2..4aa894b 100644 --- a/src/audioPlayer/FileProcessing_WAV.cpp +++ b/src/audioPlayer/FileProcessing_WAV.cpp @@ -150,8 +150,10 @@ bool FileProcessing_WAV::collectData(const BYTE* _fileData, int _fileSize) bool FileProcessing_WAV::onBufferEnd(Channel& channel) { std::lock_guard lock(m_timeChanging_mutex); - auto it = std::find_if(std::begin(m_timeChanging), std::end(m_timeChanging), [&channel](Channel& _channel) - { return &channel == &_channel; }); + auto it = std::find_if(std::begin(m_timeChanging), std::end(m_timeChanging), [&channel](Channel& _channel) { + return &channel == &_channel; + }); + bool TimeChange = it != std::end(m_timeChanging); if (channel.getSound().isLooping() && !channel.isForcedStop()) @@ -213,10 +215,9 @@ void FileProcessing_WAV::setPlayTime(Channel& channel, double time) { std::this_thread::sleep_for(std::chrono::milliseconds(5)); std::lock_guard lock(m_timeChanging_mutex); - waitingReset = std::find_if(std::begin(m_timeChanging), std::end(m_timeChanging), [&channel](Channel& _channel) - { return &channel == &_channel; }) != std::end(m_timeChanging); - - } while (waitingReset); + waitingReset = std::find_if(std::begin(m_timeChanging), std::end(m_timeChanging), [&channel](Channel& _channel) { return &channel == &_channel; }) != std::end(m_timeChanging); + } + while (waitingReset); { std::lock_guard lock(channel.getSourceVoiceMutex()); diff --git a/src/audioPlayer/Sound.cpp b/src/audioPlayer/Sound.cpp index 6837164..e0e3f1d 100644 --- a/src/audioPlayer/Sound.cpp +++ b/src/audioPlayer/Sound.cpp @@ -131,8 +131,9 @@ Sound::~Sound() { std::lock_guard lock(m_channelHandles_mutex); - std::for_each(std::begin(m_channelHandles), std::end(m_channelHandles), [](Channel& channel) - { channel.stop(); }); + std::for_each(std::begin(m_channelHandles), std::end(m_channelHandles), [](Channel& channel) { + channel.stop(); + }); } bool allChannelsDeactivated = false; @@ -140,7 +141,8 @@ Sound::~Sound() { std::lock_guard lock(m_channelHandles_mutex); allChannelsDeactivated = m_channelHandles.empty(); - } while (!allChannelsDeactivated); + } + while (!allChannelsDeactivated); this->m_file.reset(); @@ -210,22 +212,25 @@ void Sound::play() void Sound::resume() { std::lock_guard lock(m_channelHandles_mutex); - std::for_each(std::begin(m_channelHandles), std::end(m_channelHandles), [](Channel& channel) - { channel.resume(); }); + std::for_each(std::begin(m_channelHandles), std::end(m_channelHandles), [](Channel& channel) { + channel.resume(); + }); } void Sound::pause() { std::lock_guard lock(m_channelHandles_mutex); - std::for_each(std::begin(m_channelHandles), std::end(m_channelHandles), [](Channel& channel) - { channel.pause(); }); + std::for_each(std::begin(m_channelHandles), std::end(m_channelHandles), [](Channel& channel) { + channel.pause(); + }); } void Sound::stop() { std::lock_guard lock(m_channelHandles_mutex); - std::for_each(std::begin(m_channelHandles), std::end(m_channelHandles), [](Channel& channel) - { channel.stop(); }); + std::for_each(std::begin(m_channelHandles), std::end(m_channelHandles), [](Channel& channel) { + channel.stop(); + }); } void Sound::setMixer(std::string _mixerName) @@ -239,8 +244,9 @@ void Sound::setVolume(float volume) m_volume = std::clamp(volume, 0.f, 100.f); std::lock_guard lock(m_channelHandles_mutex); - std::for_each(std::begin(m_channelHandles), std::end(m_channelHandles), [this](Channel& channel) - { channel.setVolume(m_volume); }); + std::for_each(std::begin(m_channelHandles), std::end(m_channelHandles), [this](Channel& channel) { + channel.setVolume(m_volume); + }); } void Sound::setSpeed(float speed) @@ -248,8 +254,9 @@ void Sound::setSpeed(float speed) m_speed = std::clamp(speed, 0.1f, 200.f); std::lock_guard lock(m_channelHandles_mutex); - std::for_each(std::begin(m_channelHandles), std::end(m_channelHandles), [this](Channel& channel) - { channel.setSpeed(m_speed); }); + std::for_each(std::begin(m_channelHandles), std::end(m_channelHandles), [this](Channel& channel) { + channel.setSpeed(m_speed); + }); } double Sound::getAudioDuration() const @@ -367,8 +374,10 @@ void Sound::addChannel(Channel& channel) void Sound::removeChannel(Channel& channel) { std::lock_guard lock(m_channelHandles_mutex); - auto it = std::find_if(std::begin(m_channelHandles), std::end(m_channelHandles), [&channel](Channel& _channel) - { return &channel == &_channel; }); + auto it = std::find_if(std::begin(m_channelHandles), std::end(m_channelHandles), [&channel](Channel& _channel) { + return &channel == &_channel; + }); + if (it != std::end(m_channelHandles)) { m_channelHandles.erase(it); @@ -389,8 +398,9 @@ Sound::Statut Sound::getStatus() const } else { - auto num_paused = std::count_if(std::begin(m_channelHandles), std::end(m_channelHandles), [](Channel& channel) - { return channel.getSpeed() <= 0.05f; }); + auto num_paused = std::count_if(std::begin(m_channelHandles), std::end(m_channelHandles), [](Channel& channel) { + return channel.getSpeed() <= 0.05f; + }); if (num_paused == 0) { From 9d815f0ed0e46f45dc23f2580664236948ccf2bc Mon Sep 17 00:00:00 2001 From: CuriousTama Date: Thu, 22 Jan 2026 20:07:36 +0100 Subject: [PATCH 2/2] [clang-format] Add a guithub action to check clang-format compliancy --- .github/workflows/ci_clang-format_check.yml | 26 +++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 .github/workflows/ci_clang-format_check.yml diff --git a/.github/workflows/ci_clang-format_check.yml b/.github/workflows/ci_clang-format_check.yml new file mode 100644 index 0000000..590a1c9 --- /dev/null +++ b/.github/workflows/ci_clang-format_check.yml @@ -0,0 +1,26 @@ +name: "CI" + +# This is a CI workflow that check if every source files are clang-format compliant + +on: + workflow_dispatch: + pull_request: + push: + +permissions: + contents: read + +jobs: + formatting-check: + name: clang-format Check + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Run clang-format style check + uses: jidicula/clang-format-action@v4.15.0 + with: + clang-format-version: '20' + check-path: 'src' + fallback-style: 'Microsoft'