Skip to content

Fix #221 — stem a middle-line note the way the stem before it went - #226

Merged
sbeitzel merged 1 commit into
developfrom
feature/fix_221
Oct 4, 2026
Merged

sbeitzel merged 1 commit into
developfrom
feature/fix_221

Conversation

@sbeitzel

@sbeitzel sbeitzel commented Oct 4, 2026

Copy link
Copy Markdown
Owner

Fix #221

What

An unbeamed note on the middle line, when its voice's stems are left to the notes (.auto), now stems the same way as the stem before it in that part. It goes up when there is none. This is the tie-break #218 uses for a beam group that sits as far above the middle line as below, and it reads the same lastStemUp state. The rule carries across bar lines and rests. stem=, %%ceolkit:pipeformat and a shared staff's opposition still decide outright.

Tests

Three new tests in BeamGroupStemTests:

  • the issue's tune
  • a middle-line note following a beam group
  • stem= still deciding a middle-line note

Every expected direction was checked against abcm2ps -g (8.14).

The Canzonetta page snapshot changes in three stems: alto c2BG, soprano c3B, and soprano B2 after f_dec. Each is a B after a down stem, and abcm2ps stems all three down.

🤖 Generated with Claude Code

An unbeamed note on the middle line in an `.auto` voice now follows the
previous stem in its part (the `lastStemUp` state #218 threads through
pages, systems and measures), and stems up where there is none — the
same tie-break as an even beam group, and what abcm2ps 8.14 does. It
carries across bar lines and rests. `stem=`, pipe format and a shared
staff's opposition still decide outright.

The Canzonetta snapshot changes in three stems, each a B following a
down stem; abcm2ps stems all three down.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sbeitzel
sbeitzel merged commit 8f6590e into develop Oct 4, 2026
2 checks passed
@sbeitzel
sbeitzel deleted the feature/fix_221 branch October 4, 2026 22:29
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.

1 participant