feat: use Worte/Weise labels and render metadata at page bottom (Closes #5) #12

Merged
shahondin1624 merged 1 commits from feature/issue-5-worte-weise-labels-metadata-bottom into main 2026-03-17 09:46:12 +01:00

Summary

  • Adds metadata_labels ("abbreviated" or "german") and metadata_position ("top" or "bottom") config options in LayoutConfig
  • German labels use "Worte:" and "Weise:" instead of "T:" and "M:"
  • When lyricist and composer are the same person, uses "Worte und Weise: [name]"
  • Bottom position renders metadata after notes with word-wrapping support
  • MeasurementEngine accounts for two-line metadata in German label mode (separate Worte/Weise)
  • Two new config parser tests for metadata settings

Test plan

  • All existing tests pass (gradle test)
  • New test: parse config with german metadata labels and bottom position
  • New test: parse config with default metadata settings

Closes #5

## Summary - Adds `metadata_labels` (`"abbreviated"` or `"german"`) and `metadata_position` (`"top"` or `"bottom"`) config options in `LayoutConfig` - German labels use `"Worte:"` and `"Weise:"` instead of `"T:"` and `"M:"` - When lyricist and composer are the same person, uses `"Worte und Weise: [name]"` - Bottom position renders metadata after notes with word-wrapping support - MeasurementEngine accounts for two-line metadata in German label mode (separate Worte/Weise) - Two new config parser tests for metadata settings ## Test plan - [x] All existing tests pass (`gradle test`) - [x] New test: parse config with german metadata labels and bottom position - [x] New test: parse config with default metadata settings Closes #5
shahondin1624 added 1 commit 2026-03-17 09:42:08 +01:00
Add metadata_labels ("abbreviated"/"german") and metadata_position
("top"/"bottom") options to LayoutConfig. German labels use "Worte:" and
"Weise:" instead of "T:" and "M:", with "Worte und Weise:" when lyricist
and composer are the same person. Metadata at bottom position renders
after notes with word-wrapping. MeasurementEngine accounts for two-line
metadata in German label mode.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
shahondin1624 force-pushed feature/issue-5-worte-weise-labels-metadata-bottom from 62aa32c13d to b339c10ca0 2026-03-17 09:46:07 +01:00 Compare
shahondin1624 merged commit b339c10ca0 into main 2026-03-17 09:46:12 +01:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: shahondin1624/songbook#12