@stringsync/vexml
Version:
MusicXML to Vexflow
68 lines (67 loc) • 2.22 kB
TypeScript
import { NamedElement } from '../util';
import { Coda } from './coda';
import { Dynamics } from './dynamics';
import { Metronome } from './metronome';
import { OctaveShift } from './octaveshift';
import { Pedal } from './pedal';
import { Rehearsal } from './rehearsal';
import { Segno } from './segno';
import { Symbolic } from './symbolic';
import { Wedge } from './wedge';
import { Words } from './words';
export type RehearsalDirectionTypeContent = {
type: 'rehearsal';
rehearsals: Array<Rehearsal>;
};
export type SegnoDirectionTypeContent = {
type: 'segno';
segnos: Array<Segno>;
};
export type CodaDirectionTypeContent = {
type: 'coda';
codas: Array<Coda>;
};
export type DynamicsDirectionTypeContent = {
type: 'dynamics';
dynamics: Array<Dynamics>;
};
export type EmptyDirectionTypeContent = {
type: 'empty';
};
export type UnsupportedDirectionTypeContent = {
type: 'unsupported';
tagNames: string[];
};
export type MetronomeDirectionTypeContent = {
type: 'metronome';
metronome: Metronome;
};
export type TokensDirectionTypeContent = {
type: 'tokens';
tokens: Array<Words | Symbolic>;
};
export type WedgeDirectionTypeContent = {
type: 'wedge';
wedge: Wedge;
};
export type OctaveShiftDirectionTypeContent = {
type: 'octaveshift';
octaveShift: OctaveShift;
};
export type PedalDirectionTypeContent = {
type: 'pedal';
pedal: Pedal;
};
/** Non-exhaustive _supported_ options that the `<direction-type>` can contain. */
export type DirectionTypeContent = RehearsalDirectionTypeContent | EmptyDirectionTypeContent | UnsupportedDirectionTypeContent | WedgeDirectionTypeContent | MetronomeDirectionTypeContent | OctaveShiftDirectionTypeContent | PedalDirectionTypeContent | TokensDirectionTypeContent | SegnoDirectionTypeContent | CodaDirectionTypeContent | DynamicsDirectionTypeContent;
/**
* Represents the type of direction.
*
* See https://www.w3.org/2021/06/musicxml40/musicxml-reference/elements/direction-type/.
*/
export declare class DirectionType {
private element;
constructor(element: NamedElement<'direction-type'>);
/** Returns the content of the direction type. */
getContent(): DirectionTypeContent;
}