UNPKG

@stringsync/vexml

Version:

MusicXML to Vexflow

27 lines (26 loc) 1.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.HintDescriber = void 0; const elementdescriber_1 = require("./elementdescriber"); class HintDescriber { elementDescriber; constructor(elementDescriber) { this.elementDescriber = elementDescriber; } static noop() { return new HintDescriber(elementdescriber_1.ElementDescriber.noop()); } describe(hint) { switch (hint.type) { case 'start': return `start(${this.elementDescriber.describe(hint.element)})`; case 'stop': return `stop(${this.elementDescriber.describe(hint.element)})`; case 'retrigger': return `retrigger(${this.elementDescriber.describe(hint.untriggerElement)}, ${this.elementDescriber.describe(hint.retriggerElement)})`; case 'sustain': return `sustain(${this.elementDescriber.describe(hint.previousElement)}, ${this.elementDescriber.describe(hint.currentElement)})`; } } } exports.HintDescriber = HintDescriber;