aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--utils/gen_adldata/file_formats/load_ail.h93
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;
}