diff options
-rw-r--r-- | utils/gen_adldata/file_formats/load_ail.h | 93 |
1 files changed, 6 insertions, 87 deletions
diff --git a/utils/gen_adldata/file_formats/load_ail.h b/utils/gen_adldata/file_formats/load_ail.h index 2feedb9..13d5d84 100644 --- a/utils/gen_adldata/file_formats/load_ail.h +++ b/utils/gen_adldata/file_formats/load_ail.h @@ -83,12 +83,12 @@ bool BankFormats::LoadMiles(BanksDump &db, const char *fn, unsigned bank, { GTL_Head &h = heads[i]; bool isPerc = (h.bank == 0x7F); - int gmPatchId = isPerc ? h.patch : (h.patch + (h.bank * 128)); + // int gmPatchId = isPerc ? h.patch : (h.patch + (h.bank * 128)); unsigned offset = h.offset; BanksDump::MidiBank &bnk = isPerc ? bnkPercussion : bnkMelodic[h.bank]; - int gmno = h.bank == 0x7F ? int(h.patch + 0x80) : int(h.patch); + int gmno = isPerc ? int(h.patch + 0x80) : int(h.patch); int midi_index = gmno < 128 ? gmno : gmno < 128 + 35 ? -1 : gmno < 128 + 88 ? gmno - 35 @@ -164,91 +164,6 @@ bool BankFormats::LoadMiles(BanksDump &db, const char *fn, unsigned bank, } } - for(auto &b : bnkMelodic) - db.addMidiBank(bankDb, false, b); - - db.addMidiBank(bankDb, true, bnkPercussion); - -#if 0 - for(unsigned a = 0; a < 2000; ++a) - { - unsigned gm_patch = data[a * 6 + 0]; - unsigned gm_bank = data[a * 6 + 1]; - unsigned offset = *(unsigned *)&data[a * 6 + 2]; - - if(gm_patch == 0xFF) - break; - - int gmno = gm_bank == 0x7F ? int(gm_patch + 0x80) : int(gm_patch); - int midi_index = gmno < 128 ? gmno - : gmno < 128 + 35 ? -1 - : gmno < 128 + 88 ? gmno - 35 - : -1; - unsigned length = data[offset] + data[offset + 1] * 256; - signed char notenum = ((signed char)data[offset + 2]); - - /*printf("%02X %02X %08X ", gmnumber,gmnumber2, offset); - for(unsigned b=0; b<length; ++b) - { - if(b > 3 && (b-3)%11 == 0) printf("\n "); - printf("%02X ", data[offset+b]); - } - printf("\n");*/ - - if(gm_bank != 0 && gm_bank != 0x7F) - continue; - - char name2[512]; - sprintf(name2, "%s%c%u", prefix, - (gmno < 128 ? 'M' : 'P'), gmno & 127); - - insdata tmp[200]; - - const unsigned inscount = (length - 3) / 11; - bool twoOp = (inscount == 1); - - for(unsigned i = 0; i < inscount; ++i) - { - unsigned o = offset + 3 + i * 11; - tmp[i].finetune = (gmno < 128 && i == 0) ? notenum : 0; - tmp[i].diff = (i == 1); - tmp[i].data[0] = data[o + 0]; // 20 - tmp[i].data[8] = data[o + 1]; // 40 (vol) - tmp[i].data[2] = data[o + 2]; // 60 - tmp[i].data[4] = data[o + 3]; // 80 - tmp[i].data[6] = data[o + 4]; // E0 - tmp[i].data[1] = data[o + 6]; // 23 - tmp[i].data[9] = data[o + 7]; // 43 (vol) - tmp[i].data[3] = data[o + 8]; // 63 - tmp[i].data[5] = data[o + 9]; // 83 - tmp[i].data[7] = data[o + 10]; // E3 - - unsigned fb_c = data[offset + 3 + 5]; - tmp[i].data[10] = uint8_t(fb_c); - if(i == 1) - { - tmp[0].data[10] = fb_c & 0x0F; - tmp[1].data[10] = uint8_t((fb_c & 0x0E) | (fb_c >> 7)); - } - } - - if(inscount <= 2) - { - struct ins tmp2; - tmp2.notenum = gmno < 128 ? 0 : (unsigned char)notenum; - tmp2.pseudo4op = false; - tmp2.real4op = (inscount > 1); - tmp2.voice2_fine_tune = 0.0; - tmp2.midi_velocity_offset = 0; - tmp2.rhythmModeDrum = 0; - std::string name; - if(midi_index >= 0) name = std::string(1, '\377') + MidiInsName[midi_index]; - size_t resno = InsertIns(tmp[0], tmp[1], tmp2, name, name2, twoOp); - SetBank(bank, (unsigned int)gmno, resno); - } - } -#endif - AdlBankSetup setup; setup.volumeModel = VOLUME_Generic; setup.deepTremolo = true; @@ -256,6 +171,10 @@ bool BankFormats::LoadMiles(BanksDump &db, const char *fn, unsigned bank, setup.scaleModulators = false; SetBankSetup(bank, setup); + for(auto &b : bnkMelodic) + db.addMidiBank(bankDb, false, b); + db.addMidiBank(bankDb, true, bnkPercussion); + return true; } |