Commit graph

5 commits

Author SHA1 Message Date
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