@stringsync/vexml
Version:
MusicXML to Vexflow
113 lines (112 loc) • 4.45 kB
JavaScript
import { UpBow } from './upbow';
import { DownBow } from './downbow';
import { Harmonic } from './harmonic';
import { OpenString } from './openstring';
import { ThumbPosition } from './thumbposition';
import { Fingering } from './fingering';
import { Pluck } from './pluck';
import { DoubleTongue } from './doubletongue';
import { TripleTongue } from './tripletongue';
import { Stopped } from './stopped';
import { SnapPizzicato } from './snappizzicato';
import { Fret } from './fret';
import { TabString } from './tabstring';
import { HammerOn } from './hammeron';
import { PullOff } from './pulloff';
import { Bend } from './bend';
import { Tap } from './tap';
import { Heel } from './heel';
import { Toe } from './toe';
import { Fingernails } from './fingernails';
/**
* The `<technical>` element groups together technical indications that give performance information for specific
* instruments.
*
* See https://www.w3.org/2021/06/musicxml40/musicxml-reference/elements/technical/
*/
export class Technical {
element;
constructor(element) {
this.element = element;
}
/** Returns the up-bows of the technical. */
getUpBows() {
return this.element.children('up-bow').map((element) => new UpBow(element));
}
/** Returns the down-bows of the technical. */
getDownBows() {
return this.element.children('down-bow').map((element) => new DownBow(element));
}
/** Returns the harmonics of the technical. */
getHarmonics() {
return this.element.children('harmonic').map((element) => new Harmonic(element));
}
/** Returns the open strings of the technical. */
getOpenStrings() {
return this.element.children('open-string').map((element) => new OpenString(element));
}
/** Returns the thumb positions of the technical. */
getThumbPositions() {
return this.element.children('thumb-position').map((element) => new ThumbPosition(element));
}
/** Returns the fingering of the technical. */
getFingerings() {
return this.element.children('fingering').map((element) => new Fingering(element));
}
/** Returns the plucks of the technical. */
getPlucks() {
return this.element.children('pluck').map((element) => new Pluck(element));
}
/** Returns the double tongues of the technical. */
getDoubleTongues() {
return this.element.children('double-tongue').map((element) => new DoubleTongue(element));
}
/** Returns the triple tongues of the technical. */
getTripleTongues() {
return this.element.children('triple-tongue').map((element) => new TripleTongue(element));
}
/** Returns the stopped of the technical. */
getStopped() {
return this.element.children('stopped').map((element) => new Stopped(element));
}
/** Returns the snap pizzicatos of the technical. */
getSnapPizzicatos() {
return this.element.children('snap-pizzicato').map((element) => new SnapPizzicato(element));
}
/** Returns the frets of the technical. */
getFrets() {
return this.element.children('fret').map((element) => new Fret(element));
}
/** Returns the tab strings of the technical. */
getTabStrings() {
return this.element.children('string').map((element) => new TabString(element));
}
/** Returns the hammer-ons of the technical. */
getHammerOns() {
return this.element.children('hammer-on').map((element) => new HammerOn(element));
}
/** Returns the pull-offs of the technical. */
getPullOffs() {
return this.element.children('pull-off').map((element) => new PullOff(element));
}
/** Returns the bends of the technical. */
getBends() {
return this.element.children('bend').map((element) => new Bend(element));
}
/** Returns the taps of the technical. */
getTaps() {
return this.element.children('tap').map((element) => new Tap(element));
}
/** Returns the heels of the technical. */
getHeels() {
return this.element.children('heel').map((element) => new Heel(element));
}
/** Returns the toes of the technical. */
getToes() {
return this.element.children('toe').map((element) => new Toe(element));
}
/** Returns the fingernails of the technical. */
getFingernails() {
return this.element.children('fingernails').map((element) => new Fingernails(element));
}
}