@stringsync/vexml
Version:
MusicXML to Vexflow
36 lines (35 loc) • 899 B
JavaScript
export class Bend {
config;
log;
bendType;
semitones;
constructor(config, log, bendType, semitones) {
this.config = config;
this.log = log;
this.bendType = bendType;
this.semitones = semitones;
}
static create(config, log, musicXML) {
const semitones = musicXML.bend.getAlter();
let bendType;
switch (musicXML.bend.getType()) {
case 'pre-bend':
bendType = 'prebend';
break;
case 'release':
bendType = 'release';
break;
default:
bendType = 'normal';
break;
}
return new Bend(config, log, bendType, semitones);
}
parse() {
return {
type: 'bend',
bendType: this.bendType,
semitones: this.semitones,
};
}
}