UNPKG

@tonaljs/scale-type

Version:

A dictionary of musical scales

69 lines (66 loc) 1.84 kB
import { Pcset, PcsetChroma, PcsetNum } from '@tonaljs/pcset'; /** * Properties for a scale in the scale dictionary. It's a pitch class set * properties with the following additional information: * - name: the scale name * - aliases: alternative list of names * - intervals: an array of interval names */ interface ScaleType extends Pcset { readonly name: string; readonly aliases: string[]; } declare const NoScaleType: ScaleType; type ScaleTypeName = string | PcsetChroma | PcsetNum; declare function names(): string[]; /** * Given a scale name or chroma, return the scale properties * * @param {string} type - scale name or pitch class set chroma * @example * import { get } from 'tonaljs/scale-type' * get('major') // => { name: 'major', ... } */ declare function get(type: ScaleTypeName): ScaleType; /** * @deprecated * @use ScaleType.get */ declare const scaleType: typeof get; /** * Return a list of all scale types */ declare function all(): ScaleType[]; /** * @deprecated * @use ScaleType.all */ declare const entries: typeof all; /** * Keys used to reference scale types */ declare function keys(): string[]; /** * Clear the dictionary */ declare function removeAll(): void; /** * Add a scale into dictionary * @param intervals * @param name * @param aliases */ declare function add(intervals: string[], name: string, aliases?: string[]): ScaleType; declare function addAlias(scale: ScaleType, alias: string): void; /** @deprecated */ declare const _default: { names: typeof names; get: typeof get; all: typeof all; add: typeof add; removeAll: typeof removeAll; keys: typeof keys; entries: typeof all; scaleType: typeof get; }; export { NoScaleType, type ScaleType, add, addAlias, all, _default as default, entries, get, keys, names, removeAll, scaleType };