Skip to content

Add Segno and Coda navigation markers - #36

Merged
denmase merged 1 commit into
mainfrom
claude/noteeditor-translate-english-fworkt
Sep 20, 2026
Merged

denmase merged 1 commit into
mainfrom
claude/noteeditor-translate-english-fworkt

Conversation

@denmase

@denmase denmase commented Sep 20, 2026

Copy link
Copy Markdown
Owner

Summary

Continuing the Indonesian notasi angka gap list (ROADMAP.md), the note/beat-anchored half of
phase 7 (repeat bar lines / volta brackets / D.C.-D.S.-Coda-Segno navigation).

  • Wired up OrnamentType.Segno/Coda through the same ribbon + Edit-menu + context-menu +
    glyph pattern as Staccato/Accent/Tenuto -- both values already existed in the enum with zero
    code referencing them. Visual-only: no playback/MIDI-export change, since actually performing a
    D.S./D.C. jump needs real changes to ScoreMidiSchedule's linear-pass scheduling (documented in
    ROADMAP.md as its own, higher-risk follow-up, not attempted here).
  • Deliberately left OrnamentType.RepeatStart/RepeatEnd unwired. A repeat bar line is a
    property of the measure boundary itself (a thick double bar with dots spanning the staff
    height), not a note-anchored point symbol the way Segno/Coda genuinely are in real notation --
    reusing the ornament-band mechanism for those two would model the wrong thing. Documented this
    distinction in ROADMAP.md so it isn't reintroduced later; they stay dead until the originally
    planned BarLineType field lands as its own piece of work.

Test plan

Verified via the same sandbox pipeline as every prior change this session:

  • dotnet build succeeds against the real project/package graph (0 errors/warnings).
  • dotnet format --verify-no-changes passes on both projects.
  • New xUnit tests cover the glyph mapping and a render-to-bitmap smoke test in both compact and
    default layout modes.

Not verified in this sandbox: the new glyphs' actual on-screen appearance hasn't been visually
confirmed on a real Windows machine, same caveat as every prior UI change this session. dotnet test itself cannot execute here (no WindowsDesktop runtime pack); real confirmation of the new
tests comes from GitHub Actions CI.


🤖 Generated with Claude Code

https://claude.ai/code/session_01Pguj4XSScE141p1ScWoqEr


Generated by Claude Code

Wires up OrnamentType.Segno/Coda through the same ribbon/Edit-menu/
context-menu/glyph pattern as Staccato/Accent/Tenuto -- both values
already existed in the enum with zero code referencing them. Unlike
those, these are visual-only with no ApplyArticulation-style playback
change, since actually performing a D.S./D.C. jump needs real changes
to ScoreMidiSchedule's linear-pass scheduling (documented in
ROADMAP.md as a separate, higher-risk follow-up).

Deliberately left OrnamentType.RepeatStart/RepeatEnd unwired: a
repeat bar line is a property of the measure boundary itself (a
thick double bar with dots spanning the staff height), not a
note-anchored point symbol the way Segno/Coda genuinely are in real
notation, so reusing the ornament-band mechanism for those two would
model the wrong thing. ROADMAP.md now documents this distinction so
it isn't reintroduced later; they stay dead until the planned
BarLineType field lands.

Verified via the same sandbox pipeline as every prior change this
session: dotnet build succeeds against the real project/package
graph, dotnet format --verify-no-changes passes on both projects, and
new xUnit tests cover the glyph mapping and a render-to-bitmap smoke
test in both compact and default layout modes. dotnet test itself
cannot execute in this sandbox; real confirmation comes from GitHub
Actions CI.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Pguj4XSScE141p1ScWoqEr
@denmase
denmase merged commit 0ffbcd4 into main Sep 20, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants