From 26fe9323867ef77fa239fcd3ce0edf9f2335abea Mon Sep 17 00:00:00 2001 From: Joachim Schmitz Date: Wed, 20 May 2026 13:55:46 +0200 Subject: [PATCH 1/6] Fix MSVC compiler warnings reg.: * 'return': conversion from 'uint32_t' to 'uint8_t', possible loss of data (C4244) * 'return': conversion from 'uint32_t' to 'uint16_t', possible loss of data (C4244) * 'initializing': conversion from '_Ty' to '_Ty2', possible loss of data (C4244) --- src/framework/midi/midievent.h | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/framework/midi/midievent.h b/src/framework/midi/midievent.h index a01282b9ec08..e5763bfb8f9b 100644 --- a/src/framework/midi/midievent.h +++ b/src/framework/midi/midievent.h @@ -440,7 +440,7 @@ struct Event { switch (messageType()) { case MessageType::ChannelVoice10: return m_data[0] & 0x7F; - case MessageType::ChannelVoice20: return scaleDown(m_data[1] >> 16, 16, 7); + case MessageType::ChannelVoice20: return static_cast(scaleDown(m_data[1] >> 16, 16, 7)); default: assert(false); } return 0; @@ -471,7 +471,7 @@ struct Event { assertOpcode({ Opcode::NoteOn, Opcode::NoteOff }); switch (messageType()) { - case MessageType::ChannelVoice10: return scaleUp(m_data[0] & 0x7F, 7, 16); + case MessageType::ChannelVoice10: return static_cast(scaleUp(m_data[0] & 0x7F, 7, 16)); case MessageType::ChannelVoice20: return static_cast(m_data[1] >> 16); default: assert(false); } @@ -592,9 +592,11 @@ struct Event { { uint32_t val = data(); if (messageType() == MessageType::ChannelVoice20) { - return scaleDown(val, 32, 7); + val = scaleDown(val, 32, 7); + } else if (messageType() == MessageType::ChannelVoice10 && opcode() == Opcode::PitchBend) { + val = scaleDown(val, 14, 7); } - return val; + return val & 0x7F; } uint32_t data14() const @@ -836,7 +838,7 @@ struct Event { //D2.3 case Opcode::AssignableController: case Opcode::RegisteredController: { - std::vector > controlChanges = { + std::vector > controlChanges = { { (opcode() == Opcode::RegisteredController ? 101 : 99), bank() }, { (opcode() == Opcode::RegisteredController ? 100 : 98), index() }, { 6, data() >> 25 }, // first 7 bits From 46c4880ab4fcb71cd51c48fa8ff5b0a9d971aa19 Mon Sep 17 00:00:00 2001 From: Joachim Schmitz Date: Mon, 8 Jun 2026 20:52:07 +0200 Subject: [PATCH 2/6] Fix MSVC compiler warnings reg.: '=': conversion from 'size_t' to 'int', possible loss of data (C4267) --- src/importexport/mei/internal/meiimporter.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/importexport/mei/internal/meiimporter.h b/src/importexport/mei/internal/meiimporter.h index fc15624bb9d3..71716af630a2 100644 --- a/src/importexport/mei/internal/meiimporter.h +++ b/src/importexport/mei/internal/meiimporter.h @@ -60,7 +60,7 @@ class UIDRegister; struct ControlElementPosition { engraving::Measure* measure = nullptr; engraving::Fraction tick; - int track = 0; + engraving::track_idx_t track = 0; engraving::ChordRest* chordRest = nullptr; }; From 0170407460fad8babccc03d2b5822d3903a352e8 Mon Sep 17 00:00:00 2001 From: Joachim Schmitz Date: Tue, 23 Jun 2026 19:25:03 +0200 Subject: [PATCH 3/6] Fix MSVC compiler warnings reg.: unreachable code (C4702) --- src/engraving/rendering/score/tdraw.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/engraving/rendering/score/tdraw.cpp b/src/engraving/rendering/score/tdraw.cpp index b323b9ef80f3..de9e1f019e05 100644 --- a/src/engraving/rendering/score/tdraw.cpp +++ b/src/engraving/rendering/score/tdraw.cpp @@ -1742,10 +1742,10 @@ void TDraw::draw(const TextFragment& textFragment, const TextBase* item, muse::d { #ifndef Q_OS_MACOS drawTextWorkaround(textFragment, item, painter); - return; -#endif +#else painter->setFont(textFragment.font(item)); painter->drawText(textFragment.pos, textFragment.text); +#endif } void TDraw::drawTextWorkaround(const TextFragment& textFragment, const TextBase* item, muse::draw::Painter* painter) From 2adc772b8cd485ba3c76fa71e08eb380eece1cf2 Mon Sep 17 00:00:00 2001 From: Joachim Schmitz Date: Tue, 21 Jul 2026 13:58:57 +0200 Subject: [PATCH 4/6] Fix gcc compiler warning reg.: this statement may fall through [-Wimplicit-fallthrough=] --- src/engraving/editing/edit.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/engraving/editing/edit.cpp b/src/engraving/editing/edit.cpp index e7d199954011..53b6e39737e8 100644 --- a/src/engraving/editing/edit.cpp +++ b/src/engraving/editing/edit.cpp @@ -2827,7 +2827,6 @@ void Score::deleteItem(EngravingItem* el) el = chord; } // fall through - case ElementType::CHORD: { Chord* chord = toChord(el); @@ -3147,6 +3146,7 @@ void Score::deleteItem(EngravingItem* el) } } break; + case ElementType::REHEARSAL_MARK: case ElementType::TEMPO_TEXT: { @@ -3180,6 +3180,7 @@ void Score::deleteItem(EngravingItem* el) break; } + case ElementType::OTTAVA_SEGMENT: case ElementType::HAIRPIN_SEGMENT: case ElementType::TRILL_SEGMENT: @@ -3251,10 +3252,12 @@ void Score::deleteItem(EngravingItem* el) undoRemoveElement(el); } break; + case ElementType::PLAY_COUNT_TEXT: { PlayCountText* pct = toPlayCountText(el); pct->barline()->undoChangeProperty(Pid::PLAY_COUNT_TEXT_SETTING, AutoCustomHide::HIDE); } break; + case ElementType::INSTRUMENT_CHANGE: { InstrumentChange* ic = static_cast(el); @@ -3335,6 +3338,7 @@ void Score::deleteItem(EngravingItem* el) EditSystemLocks::undoRemoveSystemLock(this, systemLock); } break; + case ElementType::PARENTHESIS: { Parenthesis* paren = toParenthesis(el); // Use EditChord::removeChordParentheses when parent is a chord, fall through for all others @@ -3353,7 +3357,7 @@ void Score::deleteItem(EngravingItem* el) break; } } - + // fall through default: undoRemoveElement(el); break; From 3ac7493a5e496f463a75e8571d2f7713adb7fc38 Mon Sep 17 00:00:00 2001 From: Joachim Schmitz Date: Tue, 21 Jul 2026 14:15:21 +0200 Subject: [PATCH 5/6] Fic CLANG compiler warnings reg.: lambda capture 'this' is not used [-Wunused-lambda-capture] --- src/musesounds/internal/musesamplercheckstatusservice.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/musesounds/internal/musesamplercheckstatusservice.cpp b/src/musesounds/internal/musesamplercheckstatusservice.cpp index 6e08b76fa231..f8d703f293db 100644 --- a/src/musesounds/internal/musesamplercheckstatusservice.cpp +++ b/src/musesounds/internal/musesamplercheckstatusservice.cpp @@ -103,7 +103,7 @@ Promise > MuseSamplerCheckStatusService::checkForUpdate() return resolve(RetVal::make_ret(progress.ret)); } - progress.val.finished().onReceive(this, [this, receivedData, localVersion, resolve](const ProgressResult& res) { + progress.val.finished().onReceive(this, [receivedData, localVersion, resolve](const ProgressResult& res) { RetVal result = RetVal::make_ok(false); if (res.ret) { From 4afd9252f56b4d73ffe32c5dde7c4cf285ceebf6 Mon Sep 17 00:00:00 2001 From: Joachim Schmitz Date: Thu, 20 Aug 2026 16:37:44 +0200 Subject: [PATCH 6/6] Fix MSVC compiler warnings reg.: declaration of 'harmony' hides previous local declaration (C4456) --- .../musicxml/internal/import/importmusicxmlpass2.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/importexport/musicxml/internal/import/importmusicxmlpass2.cpp b/src/importexport/musicxml/internal/import/importmusicxmlpass2.cpp index 6dd8f0daaa88..b77e0422f35e 100644 --- a/src/importexport/musicxml/internal/import/importmusicxmlpass2.cpp +++ b/src/importexport/musicxml/internal/import/importmusicxmlpass2.cpp @@ -2957,9 +2957,9 @@ void MusicXmlParserPass2::measure(const String& partId, const Fraction time) delete inferredFingering; } - for (auto& harmony : delayedHarmony) { - HarmonyDesc harmonyDesc = harmony.second; - Fraction tick = Fraction::fromTicks(harmony.first); + for (auto& delHarmony : delayedHarmony) { + HarmonyDesc harmonyDesc = delHarmony.second; + Fraction tick = Fraction::fromTicks(delHarmony.first); if (FretDiagram* fd = harmonyDesc.m_fretDiagram) { fd->setTrack(harmonyDesc.m_track); Segment* s = measure->getSegment(SegmentType::ChordRest, tick);