UNPKG

vgm-conv

Version:
32 lines (31 loc) 989 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.OPL2ToOPLConverter = void 0; const vgm_converter_1 = require("./vgm-converter"); const vgm_parser_1 = require("vgm-parser"); function type2cmd(type) { switch (type) { case "ym3526": return 0x5b; case "y8950": return 0x5c; default: return 0x5b; } } class OPL2ToOPLConverter extends vgm_converter_1.VGMConverter { _type; _target; constructor(from, to, opts) { super(from, { chip: to.chip, index: from.index, clock: 1, relativeClock: true }); this._type = to.chip; this._target = type2cmd(this._type); } convertCommand(cmd) { if (cmd instanceof vgm_parser_1.VGMWriteDataCommand && (cmd.chip === "ym3812") && cmd.index === this.from.index) { return [cmd.copy({ target: this._target })]; } return [cmd]; } } exports.OPL2ToOPLConverter = OPL2ToOPLConverter;