Functions to parse and manipulate time duration values
import { DurationValue } from "tonal";
DurationValue.get("quarter").value; // => 0.25
get(name: string) // => object
Get a duration value object from name:
DurationValue.get("quarter"); // =>
// {
// empty: false,
// name: 'q',
// value: 0.25,
// fraction: [ 1, 4 ],
// shorthand: 'q',
// dots: '',
// names: [ 'quarter', 'crotchet' ]
// }
The name accepts an arbitrary number of dots:
DurationValue.get("quarter.."); // =>
// {
// empty: false,
// name: 'q..',
// value: 0.4375,
// fraction: [ 7, 16 ],
// shorthand: 'q',
// dots: '..',
// names: [ 'quarter', 'crotchet' ]
// }
Short names are accepted:
DurationValue.get("q") == DurationValue.get("quarter");
DurationValue.get("q.") == DurationValue.get("quarter.");
DurationValue.get("q..") == DurationValue.get("quarter..");
Some aliases (value
and fraction
) are provided:
DurationValue.value("q.."); // => 0.4375
DurationValue.fraction("q.."); // => [ 7, 16 ]
names() => string[]
Return all duration names
DurationValue.names(); // => ["large", "duplex longa", ...]
shorthands() => string[]
Return all duration value shorthands
DurationValue.shorthands(); // => ["dl", "l", "d", "w", "h", "q", "e", "s", "t", "sf", "h", "th"]