mirror of
https://github.com/kennethreitz/pytheory.git
synced 2026-07-22 02:29:30 +00:00
dc07850082
- Key.secondary_dominant() wraps out-of-range degrees instead of crashing with IndexError; rejects non-positive degrees with ValueError - Score.from_midi() guards zero tempo (falls back to 120 BPM) and zero/negative ticks_per_beat - Fretboard.chord() raises descriptive ValueError instead of bare KeyError - Scale[...], scale registry, and TimeSignature.from_string() give helpful error messages - TimeSignature is hashable again (__eq__ without __hash__) - Docstrings for Tone.pitch() and Scale.degree(); type hint on Chord.negative_harmony() - New tests/test_polish_fixes.py (7 regression tests) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>