@stringsync/vexml
Version:
MusicXML to Vexflow
41 lines (40 loc) • 1.81 kB
TypeScript
import { NamedElement } from '../util';
import { AccidentalMark } from './accidentalmark';
import { WavyLine } from './wavyline';
import { TrillMark } from './trillmark';
import { Turn } from './turn';
import { DelayedTurn } from './delayedturn';
import { InvertedTurn } from './invertedturn';
import { Mordent } from './mordent';
import { InvertedMordent } from './invertedmordent';
import { Tremolo } from './tremolo';
/** A grouping of elements that fully define an ornament. */
export type OrnamentEntry<T> = {
value: T;
accidentalMarks: AccidentalMark[];
};
/**
* Ornaments can be any of several types, followed optionally by accidentals.
*
* See https://www.w3.org/2021/06/musicxml40/musicxml-reference/elements/ornaments/.
*/
export declare class Ornaments {
private element;
constructor(element: NamedElement<'ornaments'>);
/** Returns trill mark entries. Defaults to an empty array. */
getTrillMarks(): OrnamentEntry<TrillMark>[];
/** Returns turn entries. Defaults to an empty array. */
getTurns(): OrnamentEntry<Turn>[];
/** Returns the wavy lines of the ornaments. Defaults to an empty array. */
getWavyLines(): OrnamentEntry<WavyLine>[];
/** Returns the delayed turns of the ornaments. Defaults to an empty array. */
getDelayedTurns(): OrnamentEntry<DelayedTurn>[];
/** Returns the inverted turns of the ornaments. Defaults to an empty array. */
getInvertedTurns(): OrnamentEntry<InvertedTurn>[];
/** Returns the mordents of the ornaments. Defaults to an empty array. */
getMordents(): OrnamentEntry<Mordent>[];
/** Returns the inverted mordents of the ornaments. Defaults to an empty array. */
getInvertedMordents(): OrnamentEntry<InvertedMordent>[];
getTremolos(): OrnamentEntry<Tremolo>[];
private getEntries;
}