Skip to content

Releases: cemolcay/MusicTheory

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.

1.0.0 Pre-Release

22 Jun 14:04
Compare
Choose a tag to compare
1.0.0 Pre-Release Pre-release
Pre-release

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).

Swift 4.1

12 May 16:13
Compare
Choose a tag to compare
0.1.1

Add sample length calculation tests

Migrate Swift 4.0 with Codable protocol

31 Oct 05:38
Compare
Choose a tag to compare
  • Migrate from Swift 3.2 to Swift 4.0
  • All structs and enums conform Codable.
  • NoteValueType and NoteModifier enums are Double type now, unnecessary props removed.

Completely new Chords

23 Oct 23:19
Compare
Choose a tag to compare
  • Chords rewritten
  • Now you can define all chords existing.
  • Added extended chords for generating harmonic fields.

Swift 4.0 Support

03 Oct 05:32
Compare
Choose a tag to compare
  • Harmonic Fields! Now you can generate triad or tetrad chords for each Scale.
  • Chord inversions added.
  • Add Equatable protocol to Interval, Scale, ScaleType, Chord, ChordType
  • Could initilize ChrodTypes and ScaleTypes from intervals.
  • Updated documentation.
  • Updated unit tests.

Added TimeSignature, Tempo and NoteValue data structures

17 Jul 00:13
Compare
Choose a tag to compare

Now you can calculate note durations with newly added Tempo, TimeSignature and NoteValue data structures.
For example in a 4/4 time signature, 120BPM tempo, a quarter note would be 0.5 seconds.
Also you can calculate hertz of a note for LFO speed.

Added new scales and chords

01 Mar 16:10
Compare
Choose a tag to compare
  • All scales and chords added from https://www.apassion4jazz.net/keys.html.
  • Dataset.swift file deleted.
  • ScaleType.all and ChrodType.all static properties moved to their enums from deleted Dataset.swift file.
  • Implemented ExpressibleByIntegerLiteral protocol in Interval enum

Shared library

09 Feb 19:45
Compare
Choose a tag to compare

Ready to SwiftPackageManager with shared swift library

  • iOS 8.0+
  • tvOS 9.0+
  • macOS 10.9+
  • watchOS 2.0+

Classified new version

07 Jan 17:46
Compare
Choose a tag to compare
let cmin = Scale.minor(key: .c)

updated with

let min = ScaleType.min // enum
let cmin = Scale(type: min, key: .c) // struct

style for all Note, Scale and Chord types.
We have NoteType, ScaleType and ChordType enums, key and octave agnostic.
We have Note, Scale and Chord structs with keys and octaves as well as some handy operation functions.