Skip to content

Commit

Permalink
ChordType Overhaul (#47)
Browse files Browse the repository at this point in the history
* WIP minor major ninth not passing yet

* Added Minor Major Ninth chord type

* Added Major and Dominant Ninth Flat Five refactor of Flat Fifth to Flat Five in all cases

@aure

* WIP on new ranked chords algo

Co-authored-by: Aure <aure@aure.com>

* New algo working replacing old one

* A few sus chords do not work due to algo being too eager to find thirds via letter

* remade ranked chord algo with interval strategy

* Fixed bug in Note.noteNumber causing infinite loop

Co-authored-by: Aure <aure@aure.com>

* Added isDouble as computed property to Accidental

* Improved getRankedChords algorithm

Co-authored-by: Aure <aure@aure.com>

* WIP cleaning up chord list refining examples and descriptions

* test cleanup other typo cleanup

* adding eleventh and thirteenth cases, more to do

* Adding more 13th cases

* WIP Refactoring Chord type case names

Co-authored-by: Aurelius Prochazka <aure@aure.com>

* WIP: Refactored chord type names

Co-authored-by: Aurelius Prochazka <aure@aure.com>

* Adding missing 9th and 11th cases

* added missing 13th cases, standardized description notation

* added missing cases for chord font descriptions

* added exhaustive list of sus chords revamping tests

* Don't add chord types if they have already been added

Co-authored-by: Aure <aure@aure.com>

* omitted 11ths from sus4 13 chords, omitted 9ths from sus2 13 chords

* WIP better tests for new chords

* Allows for all inversions for a given chord

Co-authored-by: Aurelius Prochazka <aure@aure.com>

* Improved ranking by favoring less complex chords in getRankedChords

Co-authored-by: Aurelius Prochazka <aure@aure.com>

* Fixed erroneous 13(add11) intervals and formatting

Co-authored-by: Aurelius Prochazka <aure@aure.com>

* updated tests

Co-authored-by: Aurelius Prochazka <aure@aure.com>

* Prioritizing hash values from simpler accidentals

Co-authored-by: name <name@example.com>

* [WIP]: Optimizing ordering of chord types by simplicity and/or popularity

Co-authored-by: Aurelius Prochazka <aure@aure.com>

* Fixed m7 vs M6 spelling with notes initializer

Co-authored-by: Aurelius Prochazka <aure@aure.com>

* Fixed add9 and 6/9 spelling with notes initializer

Co-authored-by: Aurelius Prochazka <aure@aure.com>

* chore: formatting

* add deprecated labels for generateAllChord and getAllChordsForNoteSet

* corrected Note init

* tests for dom9flat5, 9sus4, seventh naming, 13th naming

* Fixed various things having to do with the switch to Yamaha standard octave naming

* Fixed tests

* Update tests to macos-13

---------

Co-authored-by: Aure <aure@aure.com>
  • Loading branch information
maksutovic and aure authored Dec 18, 2024
1 parent 074d080 commit 8f103c6
Show file tree
Hide file tree
Showing 13 changed files with 1,947 additions and 472 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
name: Build ${{ matrix.scheme }} (Xcode ${{ matrix.xcode_version }})
# NOTE: macos-latest is NOT equivalent to macos-12 as of September 2022.
# Source: https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources
runs-on: macos-12
runs-on: macos-13
needs: [swift_test]
strategy:
# Disabling fail-fast ensures that the job will run all configurations of the matrix, even if one fails.
Expand Down
Loading

0 comments on commit 8f103c6

Please sign in to comment.