Commit graph

11 commits

Author SHA1 Message Date
Michael Winter 1dff1022ce Add custom dims support via --dims-custom and update JSON output format 2026-03-28 15:12:14 +01:00
Michael Winter bb7a9ccb21 Add DIMS_3 support and fix dim_diff for prime 11 2026-03-28 13:51:05 +01:00
Michael Winter 0f419a15b5 Add dynamic date placeholder to score template 2026-03-23 20:01:51 +01:00
Michael Winter c0ffaac95f Use SemiStaffGroup in generated score 2026-03-23 20:00:21 +01:00
Michael Winter 4ffbcc79d2 Fix score block structure - wrap staves in StaffGroup 2026-03-23 19:55:48 +01:00
Michael Winter 6bf97e5abe Make LilyPond template dynamic - title and staves generated from parameters 2026-03-23 19:54:50 +01:00
Michael Winter 9dbde6a63d Fix PDF output location and set default name 2026-03-23 19:23:53 +01:00
Michael Winter a0723e5ae3 Show dimension markup for first chord using refs within same chord
- Add _find_ref_in_same_chord() to find adjacent pitches within the same chord
- Update first chord handling to show refs to other pitches in chord
2026-03-23 19:15:49 +01:00
Michael Winter 658837b83e Fix transcriber to compute ref and dim_diff from chord data
- Add _is_adjacent() to check if pitches differ by ±1 in one dimension
- Add _compute_dim_diff() to compute prime * direction for dimension changes
- Add _find_ref_and_dim_diff() to find the ref voice and dim_diff for changed pitches
- Update output_chords_to_music_data() to compute ref and dim_diff by comparing consecutive chords
- Update format_dim_diff() to include dim_diff == 0 check and fix ref mapping for 4 voices
2026-03-23 19:12:22 +01:00
Michael Winter d0bd15574d Fix asymmetric connectivity in voice leading graph
- Compute both c1→c2 and c2→c1 edges independently using _find_valid_edges()
- Fix _is_directly_tunable to properly reorder c2_transposed using movement map
- Clean up unused valid_pairings code in _build_movement_maps
- Add edge_data field to PathStep for debugging
2026-03-23 18:46:14 +01:00
Michael Winter dd637e64e2 Add LilyPond transcriber module
- Convert chord data to LilyPond parts and PDF
- Generate part files for voices I, II, III
- Generate full score from template
- Call LilyPond to create PDF automatically
- CLI with --name, --fundamental, --template options
2026-03-23 10:00:44 +01:00