@stringsync/vexml
Version:
MusicXML to Vexflow
40 lines (39 loc) • 1.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Bend = void 0;
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,
};
}
}
exports.Bend = Bend;