Skip to content

Releases: cemolcay/MusicTheory

Added More Scales

16 Jan 14:53
Compare
Choose a tag to compare

110 scales in total.

Init Pitch with negative midi numbers

17 Nov 10:32
Compare
Choose a tag to compare
1.3.1

Fix midiNote init with negative numbers

Harmonic Functions

30 Jun 15:42
Compare
Choose a tag to compare

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

17 Jun 08:43
Compare
Choose a tag to compare

Update Swift 5

30 Apr 07:46
Compare
Choose a tag to compare
1.2.2

Update Swift 5

Add CustomChordType

09 Apr 00:57
Compare
Choose a tag to compare

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

09 Dec 13:11
Compare
Choose a tag to compare
  • Generate roman numerics for chords
  • Make ScaleType and ChordProgression struct instead of enum

Added Chord Progressions

24 Aug 16:24
Compare
Choose a tag to compare

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

10 Aug 06:39
Compare
Choose a tag to compare

You can create Pitches and Keys from string now.

let p: Pitch = "c#2"
let k: Key = "a#"

v1.0.0

26 Jun 14:54
8871fd4
Compare
Choose a tag to compare

Breaking Changes

  • Note and NoteType structs removed.
  • You need to use Key instead of NoteType with a KeyType and Accidental.
  • You need to use Pitch instead of Note with a Key and octave (Int).
  • Scale and Chord structs notes(..) functions renamed pitches(...) and they are returning [Pitch] instead of [Note].
  • Scale and Chord structs noteTypes property renamed keys 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 as static variables and it probably won't break anything.