UNPKG

@stringsync/vexml

Version:

MusicXML to Vexflow

23 lines (22 loc) 920 B
import { ElementDescriber } from './elementdescriber'; export class HintDescriber { elementDescriber; constructor(elementDescriber) { this.elementDescriber = elementDescriber; } static noop() { return new HintDescriber(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)})`; } } }