@tonaljs/scale-type
Version:
A dictionary of musical scales
69 lines (66 loc) • 1.84 kB
TypeScript
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 };