music_notes 0.10.1
music_notes: ^0.10.1 copied to clipboard
Comprehensive set of utilities for working with music theory concepts.
0.10.1 #
- ✨ feat(interval): take
distancesign into account incircleFromin #199 - ✨ feat(enharmonic_note): add pitch-class multiplication operator in #200
- ♻️ refactor(base_note): rename
fromSemitonesstatic method in #201 - 🔥 refactor(enharmonic_note)!: remove
shortestFifthsDistancemethods in #202 - ✨ feat(tuning_system): add class and test cases in #203
- 📖 docs(README): write main library documentation in #204
- ⬆️ chore(pubspec): pin dependencies versions in #205
- 📖 docs(README): remove publisher badge in #206
0.10.0 #
Note: the published versioned erroneously contained some changes from 0.10.1.
- ♻️ refactor(interval): rename shorter static constants in #177
- ✨ feat(string_extension): add
isUpperCaseandisLowerCasegetters in #179 - ✨ feat: add
parsefactory constructors to Note and Interval classes in #180 - 🔧 chore(dependabot): add configuration file in #181
- ⬆️ chore(deps): bump actions/checkout from 3.5.0 to 3.5.3 in #182
- ⬆️ chore(deps): bump coverallsapp/github-action from 2.0.0 to 2.2.0 in #183
- 💥 feat(key_signature)!: rewrite based on a list of Notes in #184
- ♻️ refactor(key_signature): declare static
emptyconstant in #185 - ♻️ refactor(key_signature): simplify tonality methods in #186
- 🐛 fix(note): return correct distance for extreme Note spellings in #187
- ⚡ perf(interval): rewrite
distanceBetweenmethod avoiding unnecessary iterations in #188 - ♻️ refactor(base_note): rewrite
parsemethod usingbyNamein #189 - ✨ feat(note): add respelling methods in #190
- ✨ feat(note): add
respelledSimplegetter in #191 - ✨ feat(int_extension): add
incrementBymethod in #192 - ✨ feat(interval): add
circleFromand related methods onNotein #193 - ✨ feat(interval): add
respellBySizemethod in #195 - ✨ feat(key_signature)!: rewrite
toStringmethod in #196 - ♻️ refactor(analysis): enable ignored lints in #197
- ✨ feat(interval): rewrite distance methods expecting
Scalablearguments in #198
0.9.0 #
- fix(scale): take descending items into account for
hashCodein #151 - test(note): add test cases for
sharp,flat,major,minorgetters in #152 - test(enharmonic): move each
toStringtest cases to implementation in #153 - feat(harmony): add
ChordandChordPatternclasses in #154 - fix(positioned_note): use correct
hashCodevalues in #155 - fix(interval_size_extension): return correct
semitonesfor large intervals in #156 - fix(note): correctly handle compound intervals in
transposeByin #157 - feat(chord): implement
Transposablein #158 - feat(chord_pattern): add
intervalStepsfactory constructor in #159 - test(interval): add compound intervals test cases for
semitonesin #160 - feat(interval): add
simplifiedgetter in #161 - refactor: rename
from→onin #162 - feat(note): add Chord triad getters in #163
- feat(scale): add
ScaleDegreeclass and methods onScalein #164 - feat(chord_pattern): add
fromQualityfactory constructor in #165 - feat(scale_degree): add
raised,lowered,major, andminorgetters in #167 - feat(scale_pattern): take
ScaleDegree.qualityinto account indegreePatternin #166 - feat(scale_pattern): add
fromChordPatternfactory constructor in #168 - feat(scale): add
degreeand renamedegreeChordmethods in #169 - refactor(scale): rename
items→degreesin #170 - refactor(scale_degree): rename
degree→ordinalin #171 - refactor(scale_pattern): extract helper functions to simplify
degreePatternmethod in #172 - feat(chord_pattern): add
augmented,major,minor, anddiminishedgetters in #173 - fix(chord): correctly identify compound intervals in
patterngetter in #174 - feat(harmony): make
Chordimplement extractedChordablemixin methods in #175 - chore(pubspec): bump version 0.9.0 in #178
- feat(harmonic_function): add class and
Scalemethod in #176
0.8.0 #
- refactor(scale_pattern): rename class in #128
- refactor(scale_pattern): rename test file in #129
- feat(frequency): add
+,-,*,/operators in #130 - test(interval_size_extension): add test cases for large
semitonesin #131 - feat(interval): show quality semitones on
nullabbreviation intoStringin #133 - feat(base_note)!: remove support for
intervalSizeisDescendingargument in #134 - feat(scalable): add abstract interface with
intervalmethod in #135 - feat(interval): add
+operator in #136 - fix(scale_pattern): check for
descendingIntervalStepsin==in #137 - feat(scale_pattern): include descending steps in
toStringin #138 - fix(scale_pattern): return
mirroredScale with descending steps in #141 - feat(scale)!: add new class with
patternandreversedgetters in #139 - fix(scale_pattern): return correct descending
PositionedNotescale infromin #142 - refactor(scalable): move to root
libdirectory in #143 - feat(enharmonic_interval): add
isDescending,descendingmethods in #144 - test(enharmonic_interval): add test cases for
isDescending,descendingmethods in #145 - chore(pubspec): bump versions as of
very_good_analysis5.0.0+1 in #146 - feat(positioned_note): add reference
noteforequalTemperamentFrequencyin #147 - refactor(note): rename
fifthsDistanceWithmethod in #148 - test(note): reference failing tests related to #149 in #150
0.7.0 #
- refactor: Extract Frequency in #112
- refactor: normalize
isNegativecondition in #116 - feat(frequency): override
toString,==,hashCode, andcompareTomethods in #117 - feat(frequency): assert positive
hertzvalue in #118 - refactor(positioned_note)!: use
Frequencyas a reference in #119 - refactor: remove
MusicIteminterface in #115 - refactor: PositionedNote composition with Note instead of inheritance in #113
- test(positioned_note): add more test cases for
semitonesFromRootHeightin #120 - refactor(transposable): add generic constraint in #99
- refactor(base_notes): rename
Notes→BaseNotein #121 - refactor(enharmonic_note): remove redirecting method on
enharmonicIntervalDistancein #122 - refactor!: consistently rename
isDescendingin #123 - feat(note): add Tonality
majorandminorgetters in #124 - refactor(base_note): rename
transposeBySizemethod in #125 - docs(note): migrate missing
PositionedNotedocumentation in #126 - feat(note): add
sharp,flatgetters in #127
0.6.0 #
- refactor(interval): extract and reuse
_sizeAbsShiftgetter in #97 - refactor(mode): rename
comparestatic method in #98 - feat(positioned_note)!: allow passing
a4HertzstoisHumanAudibleAtin #100 - feat(note): add
circleOfFifthsDistancegetter in #101 - feat(note): add
compareByFifthsDistancestatic comparator in #102 - feat(interval): add
descendingmethod in #103 - feat(scale): add
descendingIntervalStepsin #104 - chore: bump versions as of Dart SDK 3.0 in #105
0.5.1 #
- feat(scale): allow passing
EnharmonicNotetofromNotein #91 - fix(enharmonic_interval): handle descending intervals in
itemsin #92 - refactor(quality)!: rename
doubletodoublyin #93 - refactor(enharmonic): rename
items→spellingsin #94 - fix(interval_size_extension): address
simplifiedcompound interval sizes in #95 - feat(interval): show simplified interval in
toStringin #96
0.5.0 #
- feat(enharmonic_interval): suppress semitones limit in #64
- perf(interval): simplify
isPerfectlogic in #65 - refactor(accidental): rewrite
symbolgetter using explanatory variables in #66 - feat(int_interval_extension): allow compound intervals in
fromSemitonesin #67 - feat(enharmonic_interval)!: rewrite distance
semitonesstarting from 0 in #68 - refactor(enharmonic_interval): change
Transposablewith add/subtract operators in #69 - feat(note): implement
Transposablein #70 - refactor(interval): add static const constructors in #71
- feat(scale): add class and
fromNotemethod in #72 - feat(interval)!: change
descendingwith negativesizein #73 - refactor(interval_size_extension): rename extension in #74
- feat(interval): add negation and multiplication operators in #75
- feat(key_signature): throw an assertion error when passing a wrong
Accidentalin #77 - feat(scale): add
mirrored,namemethods and override==in #79 - feat(mode)!: rewrite
Modeenums in #78 - feat(tonality): add
scaleNotesgetter in #80 - feat(positioned_note): override
transposeBymethod in #81 - docs: add Wikipedia links to
ScaleandModein #82 - feat(mode)!: use
brightnessas the Dorian Brightness Quotient in #83 - refactor(positioned_note): improve
helmholtzNamegetter legibility in #84 - refactor: replace
quiverpackage with nativeObject.hashin #85 - chore(vscode): add
.lockfile association with YAML in #86 - feat(interval): add
isDescendinggetter in #87 - test(interval): add more test cases for descending
Intervalin #76 - refactor: replace
EnharmonicNotewithNotefortransposeByin #88 - fix(key_signature): use XOR in 0 accidentals assertions in #89
- refactor(note): rewrite
fromRawAccidentalsintoKeySignature.majorNotein #90
0.4.0 #
- test: consistently group test cases by content in #22
- fix(enharmonic_note): address edge cases for
itemsgetter in #23 - feat(accidental): bring
incrementmethod back in #24 - test: add test cases for
toStringmethods in #25 - test(key_signature): add test cases for
tonalitiesgetter in #26 - test(key_signature): add test cases for
fromDistancemethod in #27 - feat: implement and test Comparable in #28
- feat(accidental): show positive sign in
toStringin #29 - feat(key_signature): remove × sign in
toStringin #30 - test(music): add test case for
circleOfFifthsin #31 - test(enharmonic): add test cases for
toStringin #32 - test(interval): add test cases for
toStringin #33 - test(enharmonic_interval): add test cases for
transposeByin #34 - refactor(music_item): implement
Comparableand mark as immutable in #35 - test: compare
.hashCodeSet as a List in #36 - feat(tonality): improve
compareTosorting by note and mode in #37 - test(interval): add test cases for interval-related members in #39
- feat(intervals): add
isCompoundgetter in #40 - test(intervals): add test cases for
fromSemitonesin #41 - feat!: rewrite
Qualitiesenum with properQualityclass in #42 - feat(intervals): add
isDissonantgetter in #43 - refactor(enharmonic_interval): add static const constructors in #44
- feat(interval)!: replace
Intervalsenum withintvalue in #45 - docs: document
Qualityclass and rewrite Example consistently in #46 - feat(accidental): add
namegetter in #47 - feat(enharmonic_note): add
toClosestNotemethod in #48 - fix(note): simplify
fromRawAccidentalsaccidental increment in #49 - refactor(quality): move
qualityFromDeltatoQuality.fromIntervalfactory constructor in #51 - refactor(interval): move
EnharmonicInterval.fromDesiredSemitonesin #52 - test(interval): add test cases for
invertedin #53 - refactor(notes): address
intervalSizedescending logic in #54 - test(note): add test cases for
differencein #55 - refactor(tonality): add static const constructors in #56
- feat(note): add
octavemember in #57 - feat(note): add scientific and Helmholtz notation getters in #58
- feat(note): add
equalTemperamentFrequencyin #59 - feat(note): add
isHumanAudiblemethod in #60 - refactor(positioned_note): move
Notemethods to subclass in #61 - test(tonality): add test cases for
relative,keySignaturemethods in #62 - refactor(music_item): remove unnecessary private constructors in #63
0.3.0 #
- chore: bump versions as of Dart SDK 2.19 in #7
- refactor(accidental): rewrite new
Accidentalclass in #8 - docs: reference new
Accidentalclass instead of enum in #9 - refactor: make
Accidental.naturaldefault in #10 - refactor(enharmonic): rewrite based on
semitonesin #11 - refactor(notes): rename notes using the English convention in #12
- refactor(accidental): rename
value→semitonesin #13 - refactor(note): add static const constructors in #14
- refactor(src): reorganize directories by content in #15
- refactor: rewrite
enummembers in #16 - refactor(relative_tonalities): remove class in #17
- refactor(int_mod_extension): rewrite mod functions into extension methods in #18
- refactor(note): move fifths distance functions to class methods in #19
- perf(tests): run tests from index
main.dartfile in #20 - chore(pubspec): bump version 0.3.0 in #21
0.2.0 #
Music #
- (feat) Add
hashCodemethods 528010d
Note
- (fix) Add
fromRawAccidentalsmethod 5c2f663
Accidentals
- (feat) Added methods for incrementing and decrementing Accidentals value 54c107e 092a5fc
- (feat) Added Accidentals symbols 9ebbd18
Codebase #
- (feat) Coveralls integration 12fc7fa
- (style) Adopt
very_good_analysis’ strict lint rules 9508807 9139c38 2577579 - (refactor) Migrate to
null-safety#1 15d1eab - (refactor) Rename and translate enum values b481ef5
- chore(deps): override
metav1.6.0 in #3 - chore(deps): bump versions as of Dart SDK 2.16 in #5
- refactor(enums): replace
toTextwith nativenamegetter in #6
0.1.0 #
Initial implementation of basic and fundamental operations with notes, intervals, tonalities and key signatures.