Version history for the Harmonex project
v0.6.0, Thu 7/20/2017
- Enhance Pitch to let it represent both pitch classes and pitches by adding a new field octave, adding new functions .octave/1, .class?, and .class/1, and reworking all functions to understand pitch classes and pitches
- Alter Interval to disallow negative sizes
- Implement Pitch.compare/2 and Interval.compare/2
- Implement Interval.simple?/1 and .simplify/1
- Enhance documentation by introducing additional types
v0.5.0, Sat 6/17/2017
- Implement Interval.semitones/1 and .simplify/1
- Rename Pitch.alteration/1 to .accidental/1
- Rename Pitch.bare_name/1 to .natural_name/1
- Rename Pitch.full_name/1 to .name/1
- Enhance documentation by introducing more granular types and better documenting existing ones
v0.4.0, Mon 5/22/2017
- Extract Interval and reimplement Pitch.interval_diatonic/2 as Interval.between_pitches/2 and Pitch.interval/2
v0.3.0, Sun 5/14/2017
- Implement error handling in all Pitch functions
v0.2.0, Tue 5/09/2017
- Add Pitch.enharmonics/1 and add
:doubly_diminished
and:doubly_augmented
to the Pitch.quality type
v0.1.0, Tue 5/09/2017
(First release)