Skip to content

Fix musical key names for F minor and D-flat major - #195

Merged
mr-smidge merged 1 commit into
xsco:mainfrom
v1vendi:worktree-musical-key-printing
Aug 26, 2026
Merged

mr-smidge merged 1 commit into
xsco:mainfrom
v1vendi:worktree-musical-key-printing

Conversation

@v1vendi

@v1vendi v1vendi commented Aug 25, 2026 •

Copy link
Copy Markdown
Contributor

operator<< for musical_key writes two keys under the wrong name:

  • f_minor prints as "F", dropping the minor suffix — which is the name of f_major.
  • d_flat_major prints as "D♭m", gaining one — which is the name of d_flat_minor.

In both cases the output collides with a different key in the same enum, so neither can be told apart from its neighbour by anything reading the stream. Noticed while reading real key names off a rekordbox device, where three tracks in F minor were displayed as F major.

The stream operator for `musical_key` wrote `f_minor` as "F" and
`d_flat_major` as "D♭m", each dropping or gaining the minor suffix.  Both
collided with the name of a different key -- "F" is `f_major` and "D♭m" is
`d_flat_minor` -- so neither could be told apart from its neighbour by
anything reading the output.

The other twenty-two entries are correct.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

@mr-smidge mr-smidge left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wow, these errors were sitting here for over 3 years! LGTM.

@mr-smidge
mr-smidge merged commit 7285dad into xsco:main Aug 26, 2026
14 checks 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