mirror of
https://github.com/kennethreitz/pytheory.git
synced 2026-07-21 18:19:30 +00:00
c1b14fed87
Two correctness fixes found while surveying:
- nashville() stripped the "m" minor modifier and then ignored it ("4m"
gave F major), and a flat degree like "b7" crashed (it parsed the 7 as a
seventh-chord marker, leaving "b"). Rewrite so a bare number keeps its
diatonic chord (and diatonic seventh quality — "17" stays Imaj7), while
"m"/"-", "°", "+", "maj" and leading b/# borrow/alter correctly ("b7" ->
bVII = Bb major). Shares the corrected approach with progression().
- Chord.analyze() gains secondary_dominants=True, returning "V7/V" instead
of the bare "II7" — the inverse of progression("V7/V"), so generate ->
analyze round-trips.
+5 tests; nashville guide and changelog updated.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014ijpMiuST8kXnBoB5pSu8t