fixed fret diagram transpose: linking Harmony, enharmonic fallback - #34498
fixed fret diagram transpose: linking Harmony, enharmonic fallback#34498alexpavlov96 wants to merge 1 commit into
Conversation
📝 WalkthroughWalkthroughThe change canonicalizes selected enharmonic TPC values before fret diagram pattern lookup and custom-diagram comparison. It adds 🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Warning Review ran into problems🔥 ProblemsLinked repositories: Public OSS repositories can only analyze public repositories installed in this organization. No linked repositories were analyzed; skipped Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/engraving/dom/fret.cpp`:
- Around line 841-849: Update isCustom() to canonicalize valid rootTpc and
bassTpc values with canonicalEnharmonicTpc(), matching the normalization already
shown near createHarmonyMapKey. Ensure isCustom("Fbdim7") and isCustom("Am/Fb")
classify standard fallback diagrams correctly, and add regression coverage for
both cases.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 2c70a647-2a8d-4449-8f37-79b6c8c31a54
📒 Files selected for processing (7)
src/engraving/dom/fret.cppsrc/engraving/dom/fret.hsrc/engraving/rw/read400/measurerw.cppsrc/engraving/rw/read410/measureread.cppsrc/engraving/rw/read460/measureread.cppsrc/engraving/tests/fretdiagram_tests.cppsrc/engraving/tests/fretdiagrams_data/sibling_harmony.mscx
10a9c79 to
cbd576f
Compare
|
Note GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer. |
| return m_harmony ? m_harmony->displayText() : String(); | ||
| } | ||
|
|
||
| void FretDiagram::linkSiblingHarmonies(Measure* measure) |
There was a problem hiding this comment.
This isn't the right way to do this. The user should be able to add as many independent fret diagrams and chord symbols to a segment as they want and we shouldn't try to link them.
PR eliminates 2 reasons why fret diagram cannot be transposed (empty):

vtests: Harmony is moved, because now it's child of fret diagram
