Skip to content

Latest commit

 

History

History
274 lines (191 loc) · 5.67 KB

CHANGELOG.md

File metadata and controls

274 lines (191 loc) · 5.67 KB

@tonaljs/chord

6.1.1

Patch Changes

6.1.0

Minor Changes

  • 56d89f7: #### default export is deprecated for @tonaljs modules

    Using default exports for single packages are deprecated, so instead of:

    import Note from "@tonaljs/note";

    You should do this:

    import * as Note from "@tonaljs/note";

    The same for all modules.

Patch Changes

6.0.0

Major Changes

  • 97f01d4: #### Breaking change: chord uses pitch classes, never notes with octaves

    • Breaking change: chords uses only pitch classes. Before Chord.getChord('M', 'C4') would consider C4 to be the tonic and now is `C``

    So before:

    Chord.get("M", "C4"); // =>
    // {
    //   name: 'C4 major',
    //   tonic: 'C4',
    //   notes: [ 'C4', 'E4', 'G4' ]
    // ...
    // }

    Now:

    Chord.get("M", "C4"); // =>
    // {
    //   name: 'C major',
    //   tonic: 'C',
    //   notes: [ 'C', 'E', 'G' ]
    // }

    Feature: slash chords

    • Chord now accepts a slash and a bass. The bass must be a pitch class
    • Chord properties include bass that is a pitch class that could or could not belong to the chord itself.

    Example:

    Chord.get("Cmaj7/B");
    Chord.get("Eb/D");

    Feature: chord notes

    Now notes property of a chord are always pitch classes, there's a new function to get the actual notes:

    Chord.notes("Cmaj7", "C4"); // => ['C4', 'E4', 'G4', 'B4']
    Chord.notes("maj7", "D5"); // => ['D5', 'F#5', 'A5', 'C#6']

Patch Changes

5.0.3

Patch Changes

5.0.x

  • Update dependencies to fix an exception. See #407
  • Named type was renamed to NamedPitch. Add old export for backwards compatibility

5.0.0

Major Changes

  • b07a54c0: Breaking change: Chord.get and Chord.tokenize assumes all numbers are part of the chord type, and never the tonic octave, when using with a single string parameter.

    Before, in v4.x:

    Chord.get("C4maj7"); // => { symbol: 'Cmaj7', tonic: 'C4' ... }

    Now, in > 5.x:

    Chord.get("C4maj7"); // => { empty: true } <- there is no "4maj7" chord type, so no chord is returned

    The old behaviour can be replicated by using an array as parameter.

    This works both in v4.x and v5.x:

    Chord.get(["C4", "maj7"]); // => { symbol: 'Cmaj7', tonic: 'C4' ... }

    The reasons for this change are:

    1. Chord symbols never use octaves
    2. The old behavior is confusing and arbitrary

Patch Changes

4.10.1

Patch Changes

  • 96df1a19: Add 6add9 to chord types aliases. Rename to "sixth added ninth"
  • Updated dependencies [96df1a19]

4.10.0

Minor Changes

  • 6fcd52db: Add Scale.steps and Chord.steps

Patch Changes

4.9.0

Minor Changes

  • Chord.degrees

    Example: [1, 2, 3, 4].map(Chord.degrees("C4")) => ["C4", "E4", "G4", "C5"]

    Deprecation removal: @tonal/tonal won't receive any updates. Use tonal instead.

Patch Changes

4.8.0

Minor Changes

    • fix time signature parsing
    • add support for irrational time signatures
    • add option assumePerfectFifth to Chord.detect function

Patch Changes

4.7.2

Patch Changes

4.7.1

Patch Changes

4.7.0

Minor Changes

  • b120fc42: Publish tonal in tonal package. So use npm install tonal instead of npm install @tonaljs/tonal

Patch Changes

4.6.10

Patch Changes