/** The constructor. */ public RolandGP16SingleDriver() { super("Single", "Mikael Kurula"); sysexID = "F041**2A"; patchSize = HSIZE + SSIZE + 1; patchNameStart = 108; patchNameSize = 16; deviceIDoffset = 2; checksumStart = HSIZE; checksumEnd = HSIZE + SSIZE - 2; checksumOffset = HSIZE + SSIZE - 1; bankNumbers = new String[8 * 2]; System.arraycopy(DriverUtil.generateNumbers(1, 8, "Group A - Bank ##"), 0, bankNumbers, 0, 8); System.arraycopy(DriverUtil.generateNumbers(1, 8, "Group B - Bank ##"), 0, bankNumbers, 8, 8); patchNumbers = new String[8 * 1]; System.arraycopy(DriverUtil.generateNumbers(1, 8, "Patch ##"), 0, patchNumbers, 0, 8); }
Patch importFSEditor(byte[] aBuffer) { Patch oBank = (Patch) YamahaFS1RBankDriver.getInstance().createNewPatch(); int oIndex = 26; int oIDest = YamahaFS1RBankDriver.DATA_START; for (int p = 0; p < 128; p++) { oBank.sysex[oIDest++] = (byte) 0xF0; oBank.sysex[oIDest++] = (byte) 0x43; oBank.sysex[oIDest++] = (byte) 0x0; oBank.sysex[oIDest++] = (byte) 0x5E; int oCSStart = oIDest; oBank.sysex[oIDest++] = (byte) 0x03; oBank.sysex[oIDest++] = (byte) 0x10; oBank.sysex[oIDest++] = (byte) 0x11; oBank.sysex[oIDest++] = (byte) 0; oBank.sysex[oIDest++] = (byte) p; for (int b = 0; b < YamahaFS1RPerformanceDriver.PATCH_SIZE; b++) { oBank.sysex[oIDest++] = aBuffer[oIndex++]; } int oCSEnd = oIDest - 1; oIDest++; oBank.sysex[oIDest++] = (byte) 0xF7; DriverUtil.calculateChecksum(oBank.sysex, oCSStart, oCSEnd, oCSEnd + 1); } for (int v = 0; v < 128; v++) { oBank.sysex[oIDest++] = (byte) 0xF0; oBank.sysex[oIDest++] = (byte) 0x43; oBank.sysex[oIDest++] = (byte) 0x0; oBank.sysex[oIDest++] = (byte) 0x5E; int oCSStart = oIDest; oBank.sysex[oIDest++] = (byte) 0x04; oBank.sysex[oIDest++] = (byte) 0x60; oBank.sysex[oIDest++] = (byte) 0x51; oBank.sysex[oIDest++] = (byte) 0; oBank.sysex[oIDest++] = (byte) v; for (int b = 0; b < YamahaFS1RVoiceDriver.PATCH_SIZE; b++) { oBank.sysex[oIDest++] = aBuffer[oIndex++]; } int oCSEnd = oIDest - 1; oIDest++; oBank.sysex[oIDest++] = (byte) 0xF7; DriverUtil.calculateChecksum(oBank.sysex, oCSStart, oCSEnd, oCSEnd + 1); } return oBank; }
public EmuProteusMPSSingleDriver() { super("Single", "Brian Klock"); sysexID = "F01808**01"; // inquiryID="F07E..06021804040800.........F7"; patchSize = 319; patchNameStart = 7; patchNameSize = 12; deviceIDoffset = 3; checksumStart = 7; checksumEnd = 316; checksumOffset = 317; bankNumbers = new String[] {"0-ROM Bank", "1-RAM Bank", "2-Card Bank", "3-ROM Bank", "4-ROM Bank"}; patchNumbers = DriverUtil.generateNumbers(0, 99, "00-"); }