staff-rs / staff

Music theory and score rendering library with midi, notes, chords, scales, and more.
https://staff-rs.github.io
MIT License
253 stars 11 forks source link

Make sure Chord struct supports all types of inversions #3

Open matthunz opened 2 years ago

matthunz commented 2 years ago

Currently a chord is implemented as a set of intervals, which means they must be in order. I'm not sure if it's possible to create a chord, for example an inversion, that uses more complex patterns than that.

Analysis with Chord::from_midi_with_root should support all inversions but it might not output the notes in the same order they were read.