vgm-conv
Version:
Chip-type and clock converter for VGM.
53 lines (52 loc) • 1.6 kB
TypeScript
import { VGMConverter, ChipInfo } from "./vgm-converter";
import { VGMCommand, VGMWriteDataCommand } from "vgm-parser";
import VGMWriteDataCommandBuffer from "./vgm-write-data-buffer";
import { OPNVoice } from "ym-voice";
type VoiceDefinition = {
program: number;
volumeOffset: number;
octaveOffset: number;
};
export declare abstract class OPNToYM2413Converter extends VGMConverter {
opts: any;
_userVoices: {
[key: number]: number[];
};
/** instrument data to voice and volue offset (attenuation) */
_voiceDefMap: {
[key: string]: VoiceDefinition;
};
_voiceInfoMap: {
[key: string]: {
opnVoice: OPNVoice;
channels: Set<number>;
};
};
_autoMap: boolean;
_currentVoice: (VoiceDefinition & {
hash: string;
})[];
_div: number;
_regs: Uint8Array[];
_buf: VGMWriteDataCommandBuffer;
_keyFlags: number[];
_blkFnums: number[];
_rkeyFlags: number[];
_rVolumes: {
hh: number;
cym: number;
tom: number;
sd: number;
bd: number;
};
constructor(from: ChipInfo, to: ChipInfo, opts: any);
_estimateOPLLVoice(opn: OPNVoice): VoiceDefinition;
_y(addr: number, data: number, optimize?: boolean): void;
_identifyVoice(ch: number): void;
_updateInstVol(port: number, nch: number): void;
updateRhythmVolume(r: number, vv: number): void;
convertFM(cmd: VGMWriteDataCommand): VGMCommand[];
getInitialCommands(): Array<VGMCommand>;
convertCommand(cmd: VGMCommand): Array<VGMCommand>;
}
export {};