Repository navigation
Conversation
|
No actionable comments were generated in the recent review. ℹ️ Recent review info
Walkthrough
Priority: Severity of issue fixed: Low Merge Risk:
|
|
MuseScore/src/engraving/dom/harmony.cpp Line 797 in ac17966 MuseScore/src/engraving/dom/harmony.cpp Line 806 in ac17966 Do these lines also need to be fixed? |
Use the full supplementary-plane code points so the existing Jazz kerning entries match double-sharp and double-flat symbols. Extend harmony-46 with both accidentals before minor/major seventh suffixes. Native before/after renders exercise all four cases; the original ordinary-accidental cases and Standard-style controls remain unchanged. Standalone compilation and codestyle checks pass. Fixes musescore#35348 Assisted-by: OpenAI Codex
Use full Unicode escapes for double accidentals and the degree sign rather than Latin Eth for diminished chords. Exercise startEdit, InsertText and endEdit against normal text equivalents, including double accidentals in roots and slash basses and ordinary accidental controls. The unchanged regression fails in five input cases before correction. All 14 TextBase and FretDiagram tests pass after correction, and both changed translation units compile independently. Refs: musescore#35348 Assisted-by: OpenAI Codex
4678bb8 to
cd88b7e
Compare
|
Yes, thanks for catching those. Fixed both in cd88b7e and added a regression that exercises ending an actual chord-symbol edit, including double accidentals in roots and slash basses. I also checked the adjacent replacements: the degree-sign case used U+00D0 (Ð) rather than U+00B0 (°). The broader escape search found no further instances of this mistake in the scanned source; the OVE matches are valid natural signs followed by 7. |
Resolves: #35348
Correct Unicode literals in chord-symbol editing and Jazz kerning. The double-sharp and double-flat literals used four-digit escapes for supplementary-plane code points, so neither the Jazz kerning entries nor the end-of-edit replacements matched those symbols. The adjacent diminished-chord replacement also used U+00D0 (Latin Eth) instead of U+00B0 (degree sign).
Use the correct code points while retaining the existing kerning values and Jazz-only condition. This completes the kerning cases missed by #30362 (#30285); the editing omissions were pointed out in #35349 (comment).
The existing
harmony-46vtest covers both double accidentals before minor/major seventh suffixes, retaining the original first measure as a control. A new test in the existing TextBase suite exercisesstartEdit,InsertTextandendEdit, comparing chord names and parsed root/bass/description information with normal text input. It covers both accidentals in roots and slash basses, the degree sign, and ordinary sharp/flat controls. No new score fixture is needed for editing.Validation:
ac179663cfe2c685b720c68611dbac67c63038d8. Before correctingHarmony::endEdit, the unchanged editing regression fails for the four double-accidental inputs andC°7; the two ordinary-accidental controls pass.harmony.cppandtextbase_tests.cpp, upstream Uncrustify and diff checks pass.26fb3eb5. All four added kerning cases receive the adjustment; the original first-measure text positions and full DrawData for harmony-40, harmony-41 and a Standard-style control remain unchanged. The existing harmony-6 double-sharp case changes as expected. These images and the visual fixture are unchanged by the editing follow-up.ASAN_OPTIONS=detect_leaks=0. No full-suite, GUI editing, or leak-free result is claimed.Compare the gap after the double accidentals in the second system. The first system is unchanged.
Complete only if applicable:
OpenAI Codex was used to improve efficiency during development.