@stringsync/vexml
Version:
MusicXML to Vexflow
219 lines (218 loc) • 11 kB
TypeScript
import { EnumValues, Enum } from '../util';
/**
* Stem represents the notated stem direction.
*
* See https://www.w3.org/2021/06/musicxml40/musicxml-reference/data-types/stem-value/
*/
export type Stem = EnumValues<typeof STEMS>;
export declare const STEMS: Enum<readonly ["up", "down", "double", "none"]>;
/**
* NoteType represents the graphic note type.
*
* See https://www.w3.org/2021/06/musicxml40/musicxml-reference/data-types/note-type-value/
*/
export type NoteType = EnumValues<typeof NOTE_TYPES>;
export declare const NOTE_TYPES: Enum<readonly ["1024th", "512th", "256th", "128th", "64th", "32nd", "16th", "eighth", "quarter", "half", "whole", "breve", "long", "maxima"]>;
/**
* Notated accidentals supported by MusicXML.
*
* See https://www.w3.org/2021/06/musicxml40/musicxml-reference/data-types/accidental-value/
*/
export type AccidentalType = EnumValues<typeof ACCIDENTAL_TYPES>;
export declare const ACCIDENTAL_TYPES: Enum<readonly ["sharp", "natural", "flat", "double-sharp", "sharp-sharp", "flat-flat", "natural-sharp", "natural-flat", "quarter-flat", "quarter-sharp", "three-quarters-flat", "three-quarters-sharp", "sharp-down", "sharp-up", "natural-down", "natural-up", "flat-down", "flat-up", "double-sharp-down", "double-sharp-up", "flat-flat-down", "flat-flat-up", "arrow-down", "arrow-up", "triple-sharp", "triple-flat", "slash-quarter-sharp", "slash-sharp", "slash-flat", "double-slash-flat", "flat-1", "flat-2", "flat-3", "flat-4", "sori", "koron", "other"]>;
/**
* Notehead shapes other than the open and closed ovals associated with note durations.
*
* See https://www.w3.org/2021/06/musicxml40/musicxml-reference/data-types/notehead-value/
*/
export type Notehead = EnumValues<typeof NOTEHEADS>;
export declare const NOTEHEADS: Enum<readonly ["arrow down", "arrow up", "back slashed", "circle dot", "circle-x", "circled", "cluster", "cross", "diamond", "do", "fa", "fa up", "inverted triangle", "la", "left triangle", "mi", "none", "normal", "re", "rectangle", "slash", "slashed", "so", "square", "ti", "triangle", "x", "other"]>;
/**
* The bar style of a measure.
*
* See https://www.w3.org/2021/06/musicxml40/musicxml-reference/data-types/bar-style/
*/
export type BarStyle = EnumValues<typeof BAR_STYLES>;
export declare const BAR_STYLES: Enum<readonly ["dashed", "dotted", "heavy", "heavy-heavy", "heavy-light", "light-heavy", "light-light", "none", "regular", "short", "tick"]>;
export type VerticalDirection = EnumValues<typeof VERTICAL_DIRECTIONS>;
export declare const VERTICAL_DIRECTIONS: Enum<readonly ["up", "down"]>;
/**
* The direction of a repeat.
*
* See https://www.w3.org/2021/06/musicxml40/musicxml-reference/data-types/backward-forward/
*/
export type RepeatDirection = EnumValues<typeof REPEAT_DIRECTIONS>;
export declare const REPEAT_DIRECTIONS: Enum<readonly ["backward", "forward"]>;
/**
* The location of a barline.
*
* See https://www.w3.org/2021/06/musicxml40/musicxml-reference/data-types/right-left-middle/
*/
export type BarlineLocation = EnumValues<typeof BARLINE_LOCATIONS>;
export declare const BARLINE_LOCATIONS: Enum<readonly ["right", "left", "middle"]>;
/**
* The ending type.
*
* See https://www.w3.org/2021/06/musicxml40/musicxml-reference/data-types/start-stop-discontinue/
*/
export type StartStopDiscontinue = EnumValues<typeof START_STOP_DISCONTINUE>;
export declare const START_STOP_DISCONTINUE: Enum<readonly ["start", "stop", "discontinue"]>;
/**
* Different types of clef symbols.
*
* See https://www.w3.org/2021/06/musicxml40/musicxml-reference/data-types/clef-sign/
*/
export type ClefSign = EnumValues<typeof CLEF_SIGNS>;
export declare const CLEF_SIGNS: Enum<readonly ["G", "F", "C", "percussion", "TAB", "jianpu", "none"]>;
/**
* Describes beaming for a single note.
*
* See https://www.w3.org/2021/06/musicxml40/musicxml-reference/data-types/beam-value/
*/
export type BeamValue = EnumValues<typeof BEAM_VALUES>;
export declare const BEAM_VALUES: Enum<readonly ["backward hook", "begin", "continue", "end", "forward hook"]>;
/**
* The stave-type value specifies different uses for the stave.
*
* See https://www.w3.org/2021/06/musicxml40/musicxml-reference/data-types/staff-type/
*/
export type StaveType = EnumValues<typeof STAVE_TYPES>;
export declare const STAVE_TYPES: Enum<readonly ["alternate", "cue", "editorial", "ossia", "regular"]>;
/**
* Lyric hyphenation is indicated by the syllabic type.
*
* See https://www.w3.org/2021/06/musicxml40/musicxml-reference/data-types/syllabic/
*/
export type SyllabicType = EnumValues<typeof SYLLABIC_TYPES>;
export declare const SYLLABIC_TYPES: Enum<readonly ["begin", "end", "middle", "single"]>;
/**
* Indicates how to display a time signature.
*
* See https://www.w3.org/2021/06/musicxml40/musicxml-reference/data-types/time-symbol/
*/
export type TimeSymbol = EnumValues<typeof TIME_SYMBOLS>;
export declare const TIME_SYMBOLS: Enum<readonly ["common", "cut", "dotted-note", "normal", "note", "single-number", "hidden"]>;
/**
* The <mode> element is used to specify major/minor and other mode distinctions.
*
* See https://www.w3.org/2021/06/musicxml40/musicxml-reference/elements/mode/
*/
export type KeyMode = EnumValues<typeof KEY_MODES>;
export declare const KEY_MODES: Enum<readonly ["none", "major", "minor", "dorian", "phrygian", "lydian", "mixolydian", "aeolian", "ionian", "locrian"]>;
/**
* The start-stop type is used for an attribute of musical elements that can either start or stop, such as tuplets.
*
* See https://www.w3.org/2021/06/musicxml40/musicxml-reference/data-types/start-stop/
*/
export type StartStop = EnumValues<typeof START_STOP>;
export declare const START_STOP: Enum<readonly ["start", "stop"]>;
/**
* The above-below type is used to indicate whether one element appears above or below another element.
*
* See https://www.w3.org/2021/06/musicxml40/musicxml-reference/data-types/above-below/
*/
export type AboveBelow = EnumValues<typeof ABOVE_BELOW>;
export declare const ABOVE_BELOW: Enum<readonly ["above", "below"]>;
/**
* The over-under type is used to indicate whether the tips of curved lines such as slurs and ties are overhand (tips
* down) or underhand (tips up).
*
* See https://www.w3.org/2021/06/musicxml40/musicxml-reference/data-types/over-under/
*/
export type OverUnder = EnumValues<typeof OVER_UNDER>;
export declare const OVER_UNDER: Enum<readonly ["over", "under"]>;
/**
* The start-stop-continue type is used for an attribute of musical elements that can either start or stop, but also
* need to refer to an intermediate point in the symbol, as for complex slurs or for formatting of symbols across system
* breaks.
*
* See https://www.w3.org/2021/06/musicxml40/musicxml-reference/data-types/start-stop-continue/
*/
export type StartStopContinue = EnumValues<typeof START_STOP_CONTINUE>;
export declare const START_STOP_CONTINUE: Enum<readonly ["start", "stop", "continue"]>;
/**
* The line-type type distinguishes between solid, dashed, dotted, and wavy lines.
*
* See https://www.w3.org/2021/06/musicxml40/musicxml-reference/data-types/line-type/
*/
export type LineType = EnumValues<typeof LINE_TYPES>;
export declare const LINE_TYPES: Enum<readonly ["dashed", "dotted", "solid", "wavy"]>;
/**
* The wedge-type type is used to specify <wedge> types.
*
* See https://www.w3.org/2021/06/musicxml40/musicxml-reference/data-types/wedge-type/
*/
export type WedgeType = EnumValues<typeof WEDGE_TYPES>;
export declare const WEDGE_TYPES: Enum<readonly ["crescendo", "diminuendo", "stop", "continue"]>;
/**
* The up-down-stop-continue type is used for octave-shift elements, indicating the direction of the shift from their
* true pitched values because of printing difficulty.
*
* See https://www.w3.org/2021/06/musicxml40/musicxml-reference/data-types/up-down-stop-continue/
*/
export type UpDownStopContinue = EnumValues<typeof UP_DOWN_STOP_CONTINUE>;
export declare const UP_DOWN_STOP_CONTINUE: Enum<readonly ["up", "down", "stop", "continue"]>;
/**
* The pedal-type distinguishes types of pedal directions.
*
* See https://www.w3.org/2021/06/musicxml40/musicxml-reference/data-types/pedal-type/
*/
export type PedalType = EnumValues<typeof PEDAL_TYPES>;
export declare const PEDAL_TYPES: Enum<readonly ["start", "stop", "sostenuto", "change", "continue", "discontinue", "resume"]>;
/**
* The show-tuplet type indicates whether to show a part of a tuplet relating to the tuplet-actual element.
*
* See https://www.w3.org/2021/06/musicxml40/musicxml-reference/data-types/show-tuplet/
*/
export type ShowTuplet = EnumValues<typeof SHOW_TUPLET>;
export declare const SHOW_TUPLET: Enum<readonly ["actual", "both", "none"]>;
/**
* The tied-type type is used as an attribute of the tied element to specify where the visual representation of a tie
* begins and ends.
*
* See https://www.w3.org/2021/06/musicxml40/musicxml-reference/data-types/tied-type/
*/
export type TiedType = EnumValues<typeof TIED_TYPES>;
export declare const TIED_TYPES: Enum<readonly ["start", "stop", "continue", "let-ring"]>;
/**
* The fermata-shape type represents the shape of the fermata sign.
*
* See https://www.w3.org/2021/06/musicxml40/musicxml-reference/data-types/fermata-shape/
*/
export type FermataShape = EnumValues<typeof FERMATA_SHAPES>;
export declare const FERMATA_SHAPES: Enum<readonly ["normal", "angled", "square", "double-angled", "double-square", "double-dot", "half-curve", "curlew"]>;
/**
* The upright-inverted type describes the appearance of a fermata element.
*
* See https://www.w3.org/2021/06/musicxml40/musicxml-reference/data-types/upright-inverted/
*/
export type FermataType = EnumValues<typeof FERMATA_TYPES>;
export declare const FERMATA_TYPES: Enum<readonly ["upright", "inverted"]>;
/**
* The type of the harmonic.
*
* See https://www.w3.org/2021/06/musicxml40/musicxml-reference/elements/harmonic/
*/
export type HarmonicType = EnumValues<typeof HARMONIC_TYPES>;
export declare const HARMONIC_TYPES: Enum<readonly ["unspecified", "natural", "artificial"]>;
/**
* The type of the harmonic pitch.
*
* See https://www.w3.org/2021/06/musicxml40/musicxml-reference/elements/harmonic/
*/
export type HarmonicPitchType = EnumValues<typeof HARMONIC_PITCH_TYPES>;
export declare const HARMONIC_PITCH_TYPES: Enum<readonly ["unspecified", "base", "touching", "sounding"]>;
/**
* The type of bend.
*
* See https://www.w3.org/2021/06/musicxml40/musicxml-reference/elements/bend/
*/
export type BendType = EnumValues<typeof BEND_TYPES>;
export declare const BEND_TYPES: Enum<readonly ["normal", "pre-bend", "release"]>;
/**
* The different kinds of dynamics.
*
* See https://www.w3.org/2021/06/musicxml40/musicxml-reference/elements/dynamics/
*/
export type DynamicType = EnumValues<typeof DYNAMIC_TYPES>;
export declare const DYNAMIC_TYPES: Enum<readonly ["p", "pp", "ppp", "pppp", "ppppp", "pppppp", "f", "ff", "fff", "ffff", "fffff", "ffffff", "mp", "mf", "sf", "sfp", "sfpp", "fp", "rf", "rfz", "sfz", "sffz", "fz", "n", "pf", "sfzp"]>;