Releases: cemolcay/MusicTheory
Releases · cemolcay/MusicTheory
Added More Scales
Init Pitch with negative midi numbers
1.3.1 Fix midiNote init with negative numbers
Harmonic Functions
Added harmonic functions support!
Now you can create harmonic functions from a scale and get possible directions for a key according to its harmonic function in the scale.
Added Swift Package Manager Support
1.2.3 1.2.3
Update Swift 5
1.2.2 Update Swift 5
Add CustomChordType
Represents a custom chord type for the chords that can not be represented by the current data structures.
Can be initialized with the custom intervals.
Data structure changes and new chord functionality
- Generate roman numerics for chords
- Make ScaleType and ChordProgression
struct
instead ofenum
Added Chord Progressions
You can create chord progressions now. It supports custom ones with Codable
protocol, that you can store and use later.
let progression = ChordProgression.i_ii_vi_iv
let cSharpHarmonicMinorTriadsProgression = progression.chords(
for: cSharpHarmonicMinor,
harmonicField: .triad,
inversion: 0)
ExpressibleByStringLiteral Support
You can create Pitch
es and Key
s from string now.
let p: Pitch = "c#2"
let k: Key = "a#"
v1.0.0
Breaking Changes
Note
andNoteType
structs removed.- You need to use
Key
instead ofNoteType
with aKeyType
andAccidental
. - You need to use
Pitch
instead ofNote
with aKey
and octave (Int). Scale
andChord
structsnotes(..)
functions renamedpitches(...)
and they are returning[Pitch]
instead of[Note]
.Scale
andChord
structsnoteTypes
property renamedkeys
and it returns[Key]
instead of[NoteType]
.- New
Accidental
struct added. You can define accidents like sharp, flat, doubleSharp or more spesific like.sharps(amount: 3)
. Interval
struct rewritten. Now it is a struct instead of an enum. But all important intervals as in old version added asstatic
variables and it probably won't break anything.