diff options
author | Wohlstand <admin@wohlnet.ru> | 2020-08-20 00:01:06 +0300 |
---|---|---|
committer | Wohlstand <admin@wohlnet.ru> | 2020-08-20 00:01:06 +0300 |
commit | e4db1c263355202a9cb033f9e07d42c31e3ff4a5 (patch) | |
tree | e42c1fdf12787c02ea9c4b717a706d2e01e3e270 /utils/gen_adldata | |
parent | 2ba770631ff1dc978d16a874a4ab99930ce12d2d (diff) | |
download | libADLMIDI-e4db1c263355202a9cb033f9e07d42c31e3ff4a5.tar.gz libADLMIDI-e4db1c263355202a9cb033f9e07d42c31e3ff4a5.tar.bz2 libADLMIDI-e4db1c263355202a9cb033f9e07d42c31e3ff4a5.zip |
gen_adldata: First step of old code clean-up
Verify that all code here is in safe
Diffstat (limited to 'utils/gen_adldata')
-rw-r--r-- | utils/gen_adldata/file_formats/load_ail.h | 36 | ||||
-rw-r--r-- | utils/gen_adldata/file_formats/load_bisqwit.h | 16 | ||||
-rw-r--r-- | utils/gen_adldata/file_formats/load_bnk.h | 20 | ||||
-rw-r--r-- | utils/gen_adldata/file_formats/load_bnk2.h | 20 | ||||
-rw-r--r-- | utils/gen_adldata/file_formats/load_ea.h | 32 | ||||
-rw-r--r-- | utils/gen_adldata/file_formats/load_ibk.h | 18 | ||||
-rw-r--r-- | utils/gen_adldata/file_formats/load_jv.h | 20 | ||||
-rw-r--r-- | utils/gen_adldata/file_formats/load_op2.h | 20 | ||||
-rw-r--r-- | utils/gen_adldata/file_formats/load_tmb.h | 16 | ||||
-rw-r--r-- | utils/gen_adldata/file_formats/load_wopl.h | 38 | ||||
-rw-r--r-- | utils/gen_adldata/gen_adldata.cc | 151 | ||||
-rw-r--r-- | utils/gen_adldata/measurer.cpp | 116 | ||||
-rw-r--r-- | utils/gen_adldata/measurer.h | 6 | ||||
-rw-r--r-- | utils/gen_adldata/progs_cache.cpp | 230 | ||||
-rw-r--r-- | utils/gen_adldata/progs_cache.h | 52 |
15 files changed, 365 insertions, 426 deletions
diff --git a/utils/gen_adldata/file_formats/load_ail.h b/utils/gen_adldata/file_formats/load_ail.h index a12789b..abeda95 100644 --- a/utils/gen_adldata/file_formats/load_ail.h +++ b/utils/gen_adldata/file_formats/load_ail.h @@ -89,10 +89,10 @@ bool BankFormats::LoadMiles(BanksDump &db, const char *fn, unsigned bank, BanksDump::MidiBank &bnk = isPerc ? bnkPercussion : bnkMelodic[h.bank]; 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 - : -1; +// 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]); @@ -107,7 +107,7 @@ bool BankFormats::LoadMiles(BanksDump &db, const char *fn, unsigned bank, insdata tmp[200]; const unsigned inscount = (length - 3) / 11; - bool twoOp = (inscount == 1); +// bool twoOp = (inscount == 1); for(unsigned i = 0; i < inscount; ++i) { @@ -156,13 +156,13 @@ bool BankFormats::LoadMiles(BanksDump &db, const char *fn, unsigned bank, 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]; - if(h.bank == 0 || h.bank == 0x7F) - { - size_t resno = InsertIns(tmp[0], tmp[1], tmp2, name, name2, twoOp); - SetBank(bank, (unsigned int)gmno, resno); - } +// std::string name; +// if(midi_index >= 0) name = std::string(1, '\377') + MidiInsName[midi_index]; +// if(h.bank == 0 || h.bank == 0x7F) +// { +// size_t resno = InsertIns(tmp[0], tmp[1], tmp2, name, name2, twoOp); +// SetBank(bank, (unsigned int)gmno, resno); +// } //--------------------------------------------------------------- inst.percussionKeyNumber = isPerc ? static_cast<uint_fast8_t>(notenum) : 0; inst.noteOffset1 = isPerc ? 0 : notenum; @@ -173,12 +173,12 @@ bool BankFormats::LoadMiles(BanksDump &db, const char *fn, unsigned bank, } } - AdlBankSetup setup; - setup.volumeModel = VOLUME_Generic; - setup.deepTremolo = true; - setup.deepVibrato = true; - setup.scaleModulators = false; - SetBankSetup(bank, setup); +// AdlBankSetup setup; +// setup.volumeModel = VOLUME_Generic; +// setup.deepTremolo = true; +// setup.deepVibrato = true; +// setup.scaleModulators = false; +// SetBankSetup(bank, setup); for(auto &b : bnkMelodic) db.addMidiBank(bankDb, false, b); diff --git a/utils/gen_adldata/file_formats/load_bisqwit.h b/utils/gen_adldata/file_formats/load_bisqwit.h index 7ea3a38..2c803dd 100644 --- a/utils/gen_adldata/file_formats/load_bisqwit.h +++ b/utils/gen_adldata/file_formats/load_bisqwit.h @@ -58,8 +58,8 @@ bool BankFormats::LoadBisqwit(BanksDump &db, const char *fn, unsigned bank, cons tmp[1].diff = (tmp[0] != tmp[1]); tmp2.real4op = tmp[1].diff; - size_t resno = InsertIns(tmp[0], tmp[1], tmp2, name, name2, (tmp[0] == tmp[1])); - SetBank(bank, gmno, resno); +// size_t resno = InsertIns(tmp[0], tmp[1], tmp2, name, name2, (tmp[0] == tmp[1])); +// SetBank(bank, gmno, resno); db.toOps(tmp[0], ops, 0); if(tmp[0] != tmp[1]) @@ -78,12 +78,12 @@ bool BankFormats::LoadBisqwit(BanksDump &db, const char *fn, unsigned bank, cons db.addMidiBank(bankDb, false, bnkMelodique); db.addMidiBank(bankDb, true, bnkPercussion); - AdlBankSetup setup; - setup.volumeModel = VOLUME_Generic; - setup.deepTremolo = true; - setup.deepVibrato = true; - setup.scaleModulators = false; - SetBankSetup(bank, setup); +// AdlBankSetup setup; +// setup.volumeModel = VOLUME_Generic; +// setup.deepTremolo = true; +// setup.deepVibrato = true; +// setup.scaleModulators = false; +// SetBankSetup(bank, setup); return true; } diff --git a/utils/gen_adldata/file_formats/load_bnk.h b/utils/gen_adldata/file_formats/load_bnk.h index 9379de5..4021831 100644 --- a/utils/gen_adldata/file_formats/load_bnk.h +++ b/utils/gen_adldata/file_formats/load_bnk.h @@ -127,17 +127,17 @@ bool BankFormats::LoadBNK(BanksDump &db, const char *fn, unsigned bank, inst.percussionKeyNumber = is_fat ? voice_num : (percussive ? usage_flag : 0); inst.setFbConn(op1[2] * 2 + op1[12]); - size_t resno = InsertIns(tmp, tmp2, std::string(1, '\377') + name, name2); +// size_t resno = InsertIns(tmp, tmp2, std::string(1, '\377') + name, name2); if(!is_fat) { - SetBank(bank, (unsigned int)gmno, resno); +// SetBank(bank, (unsigned int)gmno, resno); db.addInstrument(bnk, n & 127, inst, ops, fn); } else { - if(name[2] == 'O' || name[1] == 'M') SetBank(bank + 0, (unsigned int)gmno, resno); - if(name[2] == 'S' || name[1] == 'M') SetBank(bank + 1, (unsigned int)gmno, resno); +// if(name[2] == 'O' || name[1] == 'M') SetBank(bank + 0, (unsigned int)gmno, resno); +// if(name[2] == 'S' || name[1] == 'M') SetBank(bank + 1, (unsigned int)gmno, resno); } /* @@ -166,12 +166,12 @@ bool BankFormats::LoadBNK(BanksDump &db, const char *fn, unsigned bank, db.addMidiBank(bankDb, percussive, bnk); - AdlBankSetup setup; - setup.volumeModel = VOLUME_Generic; - setup.deepTremolo = false; - setup.deepVibrato = false; - setup.scaleModulators = false; - SetBankSetup(bank, setup); +// AdlBankSetup setup; +// setup.volumeModel = VOLUME_Generic; +// setup.deepTremolo = false; +// setup.deepVibrato = false; +// setup.scaleModulators = false; +// SetBankSetup(bank, setup); return true; } diff --git a/utils/gen_adldata/file_formats/load_bnk2.h b/utils/gen_adldata/file_formats/load_bnk2.h index 5468cb5..fc36dd2 100644 --- a/utils/gen_adldata/file_formats/load_bnk2.h +++ b/utils/gen_adldata/file_formats/load_bnk2.h @@ -120,8 +120,8 @@ bool BankFormats::LoadBNK2(BanksDump &db, const char *fn, unsigned bank, // dual-op tmp2.real4op = true; tmp[1].diff = true; - size_t resno = InsertIns(tmp[0], tmp[1], tmp2, std::string(1, '\377') + name, name2); - SetBank(bank, (unsigned int)gmno, resno); +// size_t resno = InsertIns(tmp[0], tmp[1], tmp2, std::string(1, '\377') + name, name2); +// SetBank(bank, (unsigned int)gmno, resno); inst.instFlags |= BanksDump::InstrumentEntry::WOPL_Ins_4op; db.addInstrument(bnk, patchId, inst, opsD, fn); @@ -129,8 +129,8 @@ bool BankFormats::LoadBNK2(BanksDump &db, const char *fn, unsigned bank, else { // single-op - size_t resno = InsertIns(tmp[0], tmp2, std::string(1, '\377') + name, name2); - SetBank(bank, (unsigned int)gmno, resno); +// size_t resno = InsertIns(tmp[0], tmp2, std::string(1, '\377') + name, name2); +// SetBank(bank, (unsigned int)gmno, resno); db.addInstrument(bnk, patchId, inst, opsD, fn); } @@ -139,12 +139,12 @@ bool BankFormats::LoadBNK2(BanksDump &db, const char *fn, unsigned bank, db.addMidiBank(bankDb, false, bnkMelodic); db.addMidiBank(bankDb, true, bnkPercussion); - AdlBankSetup setup; - setup.volumeModel = VOLUME_Generic; - setup.deepTremolo = false; - setup.deepVibrato = false; - setup.scaleModulators = false; - SetBankSetup(bank, setup); +// AdlBankSetup setup; +// setup.volumeModel = VOLUME_Generic; +// setup.deepTremolo = false; +// setup.deepVibrato = false; +// setup.scaleModulators = false; +// SetBankSetup(bank, setup); return true; } diff --git a/utils/gen_adldata/file_formats/load_ea.h b/utils/gen_adldata/file_formats/load_ea.h index 4b40b0f..0e2d294 100644 --- a/utils/gen_adldata/file_formats/load_ea.h +++ b/utils/gen_adldata/file_formats/load_ea.h @@ -16,10 +16,10 @@ bool BankFormats::LoadEA(BanksDump &db, const char *fn, unsigned bank, BanksDump::MidiBank bnkPercussion = db.midiBanks[db.banks[0].percussion[0]]; // Copy all instruments from bank 0 - for(unsigned gmno = 0; gmno < 128; ++gmno) - progs[bank][gmno] = progs[0][gmno]; - for(unsigned gmno = 35; gmno < 80; ++gmno) - progs[bank][0x80 + gmno] = progs[0][0x80 + gmno]; +// for(unsigned gmno = 0; gmno < 128; ++gmno) +// progs[bank][gmno] = progs[0][gmno]; +// for(unsigned gmno = 35; gmno < 80; ++gmno) +// progs[bank][0x80 + gmno] = progs[0][0x80 + gmno]; uint16_t sources[20 + 8]; // Copy also the unused instruments @@ -110,15 +110,15 @@ bool BankFormats::LoadEA(BanksDump &db, const char *fn, unsigned bank, { snprintf(name2, 512, "%sunk%04X", prefix, offset); } - size_t resno = InsertIns(tmp, tmp2, std::string(1, '\377') + name, name2); - SetBank(bank, gmno, resno); +// size_t resno = InsertIns(tmp, tmp2, std::string(1, '\377') + name, name2); +// SetBank(bank, gmno, resno); db.addInstrument(bnkMelodic, gmno, inst, ops, fn); if(gmno == 10) { /*tmp.finetune=0;*/ tmp2.notenum = 0x49; - SetBank(bank, 0x80 + 0x36, InsertIns(tmp, tmp2, std::string(1, '\377') + MidiInsName[0x80 + 0x36 - 35], std::string(1, '\377') + prefix + "P54")); +// SetBank(bank, 0x80 + 0x36, InsertIns(tmp, tmp2, std::string(1, '\377') + MidiInsName[0x80 + 0x36 - 35], std::string(1, '\377') + prefix + "P54")); inst.percussionKeyNumber = 0x49; db.addInstrument(bnkPercussion, 0x36, inst, ops, fn); } @@ -126,7 +126,7 @@ bool BankFormats::LoadEA(BanksDump &db, const char *fn, unsigned bank, if(gmno == 18) { /*tmp.finetune=0;*/ tmp2.notenum = 0x17; - SetBank(bank, 0x80 + 0x2A, InsertIns(tmp, tmp2, std::string(1, '\377') + MidiInsName[0x80 + 0x2A - 35], std::string(1, '\377') + prefix + "P42")); +// SetBank(bank, 0x80 + 0x2A, InsertIns(tmp, tmp2, std::string(1, '\377') + MidiInsName[0x80 + 0x2A - 35], std::string(1, '\377') + prefix + "P42")); inst.percussionKeyNumber = 0x17; db.addInstrument(bnkPercussion, 0x2A, inst, ops, fn); } @@ -134,7 +134,7 @@ bool BankFormats::LoadEA(BanksDump &db, const char *fn, unsigned bank, if(gmno == 16) { /*tmp.finetune=0;*/ tmp2.notenum = 0x0C; - SetBank(bank, 0x80 + 0x24, InsertIns(tmp, tmp2, std::string(1, '\377') + MidiInsName[0x80 + 0x24 - 35], std::string(1, '\377') + prefix + "P36")); +// SetBank(bank, 0x80 + 0x24, InsertIns(tmp, tmp2, std::string(1, '\377') + MidiInsName[0x80 + 0x24 - 35], std::string(1, '\377') + prefix + "P36")); inst.percussionKeyNumber = 0x0C; db.addInstrument(bnkPercussion, 0x24, inst, ops, fn); } @@ -142,7 +142,7 @@ bool BankFormats::LoadEA(BanksDump &db, const char *fn, unsigned bank, if(gmno == 17) { /*tmp.finetune=0;*/ tmp2.notenum = 0x01; - SetBank(bank, 0x80 + 0x26, InsertIns(tmp, tmp2, std::string(1, '\377') + MidiInsName[0x80 + 0x26 - 35], std::string(1, '\377') + prefix + "P38")); +// SetBank(bank, 0x80 + 0x26, InsertIns(tmp, tmp2, std::string(1, '\377') + MidiInsName[0x80 + 0x26 - 35], std::string(1, '\377') + prefix + "P38")); inst.percussionKeyNumber = 0x01; db.addInstrument(bnkPercussion, 0x26, inst, ops, fn); } @@ -150,12 +150,12 @@ bool BankFormats::LoadEA(BanksDump &db, const char *fn, unsigned bank, std::fclose(fp); - AdlBankSetup setup; - setup.volumeModel = VOLUME_CMF; - setup.deepTremolo = false; - setup.deepVibrato = false; - setup.scaleModulators = false; - SetBankSetup(bank, setup); +// AdlBankSetup setup; +// setup.volumeModel = VOLUME_CMF; +// setup.deepTremolo = false; +// setup.deepVibrato = false; +// setup.scaleModulators = false; +// SetBankSetup(bank, setup); db.addMidiBank(bankDb, false, bnkMelodic); db.addMidiBank(bankDb, true, bnkPercussion); diff --git a/utils/gen_adldata/file_formats/load_ibk.h b/utils/gen_adldata/file_formats/load_ibk.h index d4b54f6..6ae907e 100644 --- a/utils/gen_adldata/file_formats/load_ibk.h +++ b/utils/gen_adldata/file_formats/load_ibk.h @@ -107,25 +107,25 @@ bool BankFormats::LoadIBK(BanksDump &db, const char *fn, unsigned bank, break; default: // IBK logic: make non-percussion instrument be silent - tmp = MakeNoSoundIns(); +// tmp = MakeNoSoundIns(); break; } } - size_t resno = InsertIns(tmp, tmp2, std::string(1, '\377') + name, name2); - SetBank(bank, (unsigned int)gmno, resno); +// size_t resno = InsertIns(tmp, tmp2, std::string(1, '\377') + name, name2); +// SetBank(bank, (unsigned int)gmno, resno); db.addInstrument(bnk, a, inst, ops, fn); } db.addMidiBank(bankDb, percussive, bnk); - AdlBankSetup setup; - setup.volumeModel = VOLUME_Generic; - setup.deepTremolo = false; - setup.deepVibrato = false; - setup.scaleModulators = false; - SetBankSetup(bank, setup); +// AdlBankSetup setup; +// setup.volumeModel = VOLUME_Generic; +// setup.deepTremolo = false; +// setup.deepVibrato = false; +// setup.scaleModulators = false; +// SetBankSetup(bank, setup); return true; } diff --git a/utils/gen_adldata/file_formats/load_jv.h b/utils/gen_adldata/file_formats/load_jv.h index bb4fbdb..1cb6a16 100644 --- a/utils/gen_adldata/file_formats/load_jv.h +++ b/utils/gen_adldata/file_formats/load_jv.h @@ -109,13 +109,13 @@ bool BankFormats::LoadJunglevision(BanksDump &db, const char *fn, unsigned bank, if(!data[offset]) { - size_t resno = InsertIns(tmp[0], tmp2, name, name2); - SetBank(bank, gmno, resno); +// size_t resno = InsertIns(tmp[0], tmp2, name, name2); +// SetBank(bank, gmno, resno); } else // Double instrument { - size_t resno = InsertIns(tmp[0], tmp[1], tmp2, name, name2); - SetBank(bank, gmno, resno); +// size_t resno = InsertIns(tmp[0], tmp[1], tmp2, name, name2); +// SetBank(bank, gmno, resno); } db.addInstrument(bnk, patchId, inst, ops, fn); } @@ -123,12 +123,12 @@ bool BankFormats::LoadJunglevision(BanksDump &db, const char *fn, unsigned bank, db.addMidiBank(bankDb, false, bnkMelodique); db.addMidiBank(bankDb, true, bnkPercussion); - AdlBankSetup setup; - setup.volumeModel = VOLUME_9X; - setup.deepTremolo = true; - setup.deepVibrato = true; - setup.scaleModulators = false; - SetBankSetup(bank, setup); +// AdlBankSetup setup; +// setup.volumeModel = VOLUME_9X; +// setup.deepTremolo = true; +// setup.deepVibrato = true; +// setup.scaleModulators = false; +// SetBankSetup(bank, setup); return true; } diff --git a/utils/gen_adldata/file_formats/load_op2.h b/utils/gen_adldata/file_formats/load_op2.h index e31a803..70b23de 100644 --- a/utils/gen_adldata/file_formats/load_op2.h +++ b/utils/gen_adldata/file_formats/load_op2.h @@ -139,8 +139,8 @@ bool BankFormats::LoadDoom(BanksDump &db, const char *fn, unsigned bank, const s if(!(ins.flags & FL_DOUBLE_VOICE)) { - size_t resno = InsertIns(tmp[0], tmp2, std::string(1, '\377') + name, name2); - SetBank(bank, (unsigned int)gmno, resno); +// size_t resno = InsertIns(tmp[0], tmp2, std::string(1, '\377') + name, name2); +// SetBank(bank, (unsigned int)gmno, resno); } else // Double instrument { @@ -151,8 +151,8 @@ bool BankFormats::LoadDoom(BanksDump &db, const char *fn, unsigned bank, const s else if(ins.finetune == 127) tmp2.voice2_fine_tune = -0.000025; //printf("/*DOOM FINE TUNE (flags %000X instrument is %d) IS %d -> %lf*/\n", ins.flags, a, ins.finetune, tmp2.fine_tune); - size_t resno = InsertIns(tmp[0], tmp[1], tmp2, std::string(1, '\377') + name, name2); - SetBank(bank, (unsigned int)gmno, resno); +// size_t resno = InsertIns(tmp[0], tmp[1], tmp2, std::string(1, '\377') + name, name2); +// SetBank(bank, (unsigned int)gmno, resno); } db.addInstrument(bnk, patchId, inst, ops, fn); @@ -181,12 +181,12 @@ bool BankFormats::LoadDoom(BanksDump &db, const char *fn, unsigned bank, const s db.addMidiBank(bankDb, false, bnkMelodique); db.addMidiBank(bankDb, true, bnkPercussion); - AdlBankSetup setup; - setup.volumeModel = VOLUME_DMX; - setup.deepTremolo = false; - setup.deepVibrato = false; - setup.scaleModulators = false; - SetBankSetup(bank, setup); +// AdlBankSetup setup; +// setup.volumeModel = VOLUME_DMX; +// setup.deepTremolo = false; +// setup.deepVibrato = false; +// setup.scaleModulators = false; +// SetBankSetup(bank, setup); return true; } diff --git a/utils/gen_adldata/file_formats/load_tmb.h b/utils/gen_adldata/file_formats/load_tmb.h index d9d57dd..e0b0e31 100644 --- a/utils/gen_adldata/file_formats/load_tmb.h +++ b/utils/gen_adldata/file_formats/load_tmb.h @@ -77,8 +77,8 @@ bool BankFormats::LoadTMB(BanksDump &db, const char *fn, unsigned bank, const st sprintf(name2, "%s%c%u", prefix, (gmno < 128 ? 'M' : 'P'), gmno & 127); - size_t resno = InsertIns(tmp, tmp2, name, name2); - SetBank(bank, gmno, resno); +// size_t resno = InsertIns(tmp, tmp2, name, name2); +// SetBank(bank, gmno, resno); db.addInstrument(bnk, patchId, inst, ops, fn); } @@ -86,12 +86,12 @@ bool BankFormats::LoadTMB(BanksDump &db, const char *fn, unsigned bank, const st db.addMidiBank(bankDb, false, bnkMelodique); db.addMidiBank(bankDb, true, bnkPercussion); - AdlBankSetup setup; - setup.volumeModel = VOLUME_APOGEE; - setup.deepTremolo = false; - setup.deepVibrato = false; - setup.scaleModulators = false; - SetBankSetup(bank, setup); +// AdlBankSetup setup; +// setup.volumeModel = VOLUME_APOGEE; +// setup.deepTremolo = false; +// setup.deepVibrato = false; +// setup.scaleModulators = false; +// SetBankSetup(bank, setup); return true; } diff --git a/utils/gen_adldata/file_formats/load_wopl.h b/utils/gen_adldata/file_formats/load_wopl.h index 047ed7b..265c6bf 100644 --- a/utils/gen_adldata/file_formats/load_wopl.h +++ b/utils/gen_adldata/file_formats/load_wopl.h @@ -58,11 +58,11 @@ bool BankFormats::LoadWopl(BanksDump &db, const char *fn, unsigned bank, const s uint16_t mbanks_count = toUint16BE((const uint8_t *)data.data() + 0x0d); uint16_t pbanks_count = toUint16BE((const uint8_t *)data.data() + 0x0f); - AdlBankSetup setup; - setup.deepTremolo = (data[0x11] & 0x01) != 0; - setup.deepVibrato = (data[0x11] & 0x02) != 0; - setup.volumeModel = (int)data[0x12]; - setup.scaleModulators = false; +// AdlBankSetup setup; +// setup.deepTremolo = (data[0x11] & 0x01) != 0; +// setup.deepVibrato = (data[0x11] & 0x02) != 0; +// setup.volumeModel = (int)data[0x12]; +// setup.scaleModulators = false; size_t bankDb = db.initBank(bank, bankTitle, static_cast<uint_fast16_t>((static_cast<unsigned>(data[0x11]) << 8) | static_cast<unsigned>(data[0x12]))); @@ -258,26 +258,26 @@ bool BankFormats::LoadWopl(BanksDump &db, const char *fn, unsigned bank, const s else snprintf(name2, 512, "%sM%u", prefix, i); - if(bankno == 0) - { - if(!real4op && !tmp2.pseudo4op) - { - size_t resno = InsertIns(tmp[0], tmp2, name, name2); - SetBank(bank, gmno, resno); - } - else - { - size_t resno = InsertIns(tmp[0], tmp[1], tmp2, name, name2); - SetBank(bank, gmno, resno); - } - } +// if(bankno == 0) +// { +// if(!real4op && !tmp2.pseudo4op) +// { +// size_t resno = InsertIns(tmp[0], tmp2, name, name2); +// SetBank(bank, gmno, resno); +// } +// else +// { +// size_t resno = InsertIns(tmp[0], tmp[1], tmp2, name, name2); +// SetBank(bank, gmno, resno); +// } +// } db.addInstrument(bnk, i, inst, ops, fn); } db.addMidiBank(bankDb, is_percussion, bnk); } } - SetBankSetup(bank, setup); +// SetBankSetup(bank, setup); return true; } diff --git a/utils/gen_adldata/gen_adldata.cc b/utils/gen_adldata/gen_adldata.cc index 35967b2..e62ddf2 100644 --- a/utils/gen_adldata/gen_adldata.cc +++ b/utils/gen_adldata/gen_adldata.cc @@ -28,15 +28,18 @@ int main(int argc, char**argv) const char *outFile_s = argv[1]; +#if 0 FILE *outFile = std::fopen(outFile_s, "w"); if(!outFile) { std::fprintf(stderr, "Can't open %s file for write!\n", outFile_s); return 1; } +#endif BanksDump db; +#if 0 std::fprintf(outFile, "\ #include \"adldata.hh\"\n\ \n\ @@ -45,6 +48,9 @@ int main(int argc, char**argv) * PREPROCESSED, CONVERTED, AND POSTPROCESSED OFF-SCREEN.\n\ */\n\ "); +#endif + + { IniProcessing ini; if(!ini.open("banks.ini")) @@ -97,7 +103,7 @@ int main(int argc, char**argv) return 1; } - banknames.push_back(bank_name); +// banknames.push_back(bank_name); //printf("Loading %s...\n", filepath.c_str()); @@ -251,119 +257,34 @@ int main(int argc, char**argv) } #endif - std::printf("Writing raw instrument data...\n"); - std::fflush(stdout); - { - std::fprintf(outFile, - /* - "static const struct\n" - "{\n" - " unsigned modulator_E862, carrier_E862; // See below\n" - " unsigned char modulator_40, carrier_40; // KSL/attenuation settings\n" - " unsigned char feedconn; // Feedback/connection bits for the channel\n" - " signed char finetune; // Finetune\n" - "} adl[] =\n"*/ - "const adldata adl[%u] =\n" - "{ // ,---------+-------- Wave select settings\n" - " // | ,-------ч-+------ Sustain/release rates\n" - " // | | ,-----ч-ч-+---- Attack/decay rates\n" - " // | | | ,---ч-ч-ч-+-- AM/VIB/EG/KSR/Multiple bits\n" - " // | | | | | | | |\n" - " // | | | | | | | | ,----+-- KSL/attenuation settings\n" - " // | | | | | | | | | | ,----- Feedback/connection bits\n" - " // | | | | | | | | | | | ,----- Fine tune\n\n" - " // | | | | | | | | | | | |\n" - " // | | | | | | | | | | | |\n", (unsigned)insdatatab.size()); - - for(size_t b = insdatatab.size(), c = 0; c < b; ++c) - { - for(std::map<insdata, std::pair<size_t, std::set<std::string> > > - ::const_iterator - i = insdatatab.begin(); - i != insdatatab.end(); - ++i) - { - if(i->second.first != c) continue; - std::fprintf(outFile, " { "); - - uint32_t carrier_E862 = - uint32_t(i->first.data[6] << 24) - + uint32_t(i->first.data[4] << 16) - + uint32_t(i->first.data[2] << 8) - + uint32_t(i->first.data[0] << 0); - uint32_t modulator_E862 = - uint32_t(i->first.data[7] << 24) - + uint32_t(i->first.data[5] << 16) - + uint32_t(i->first.data[3] << 8) - + uint32_t(i->first.data[1] << 0); - - std::fprintf(outFile, "0x%07X,0x%07X, 0x%02X,0x%02X, 0x%X, %+d", - carrier_E862, - modulator_E862, - i->first.data[8], - i->first.data[9], - i->first.data[10], - i->first.finetune); - -#ifdef ADLDATA_WITH_COMMENTS - std::string names; - for(std::set<std::string>::const_iterator - j = i->second.second.begin(); - j != i->second.second.end(); - ++j) - { - if(!names.empty()) names += "; "; - if((*j)[0] == '\377') - names += j->substr(1); - else - names += *j; - } - std::fprintf(outFile, " }, // %u: %s\n", (unsigned)c, names.c_str()); -#else - std::fprintf(outFile, " },\n"); -#endif - } - } - std::fprintf(outFile, "};\n"); - } - - /*std::fprintf(outFile, "static const struct\n" - "{\n" - " unsigned short adlno1, adlno2;\n" - " unsigned char tone;\n" - " unsigned char flags;\n" - " long ms_sound_kon; // Number of milliseconds it produces sound;\n" - " long ms_sound_koff;\n" - " double voice2_fine_tune;\n" - "} adlins[] =\n");*/ - - std::fprintf(outFile, "const struct adlinsdata adlins[%u] =\n", (unsigned)instab.size()); - std::fprintf(outFile, "{\n"); +// std::printf("Writing raw instrument data...\n"); +// std::fflush(stdout); MeasureThreaded measureCounter; -#ifndef GEN_ADLDATA_DEEP_DEBUG // Skip slowest place to work with a debug - { - std::printf("Beginning to generate measures data... (hardware concurrency of %d)\n", std::thread::hardware_concurrency()); - std::fflush(stdout); - measureCounter.LoadCache("fm_banks/adldata-cache.dat"); - measureCounter.m_total = instab.size(); - for(size_t b = instab.size(), c = 0; c < b; ++c) - { - for(std::map<ins, std::pair<size_t, std::set<std::string> > >::const_iterator i = instab.begin(); i != instab.end(); ++i) - { - if(i->second.first != c) continue; - measureCounter.run(i); - } - } - std::fflush(stdout); - measureCounter.waitAll(); - measureCounter.SaveCache("fm_banks/adldata-cache.dat"); - } -#endif +//#ifndef GEN_ADLDATA_DEEP_DEBUG // Skip slowest place to work with a debug +// { +// std::printf("Beginning to generate measures data... (hardware concurrency of %d)\n", std::thread::hardware_concurrency()); +// std::fflush(stdout); +// measureCounter.LoadCache("fm_banks/adldata-cache.dat"); +// measureCounter.m_total = instab.size(); +// for(size_t b = instab.size(), c = 0; c < b; ++c) +// { +// for(std::map<ins, std::pair<size_t, std::set<std::string> > >::const_iterator i = instab.begin(); i != instab.end(); ++i) +// { +// if(i->second.first != c) continue; +// measureCounter.run(i); +// } +// } +// std::fflush(stdout); +// measureCounter.waitAll(); +// measureCounter.SaveCache("fm_banks/adldata-cache.dat"); +// } +//#endif - std::printf("Writing generated measure data...\n"); - std::fflush(stdout); +// std::printf("Writing generated measure data...\n"); +// std::fflush(stdout); +#if 0 std::vector<unsigned> adlins_flags; for(size_t b = instab.size(), c = 0; c < b; ++c) @@ -469,6 +390,7 @@ int main(int argc, char**argv) } std::set<size_t> listed; + std::fprintf(outFile, "\n\n//Returns total number of generated banks\n" "int maxAdlBanks()\n" @@ -531,6 +453,10 @@ int main(int argc, char**argv) #endif } +#endif + + +#if 0 std::fprintf(outFile, "};\n\n"); std::fflush(outFile); @@ -557,9 +483,10 @@ int main(int argc, char**argv) std::fflush(outFile); std::fclose(outFile); +#endif { - measureCounter.LoadCacheX("fm_banks/adldata-cache-x.dat"); + measureCounter.LoadCacheX("fm_banks/adldata-cache.dat"); measureCounter.m_durationInfo.clear(); measureCounter.m_cache_matches = 0; measureCounter.m_done = 0; @@ -573,7 +500,7 @@ int main(int argc, char**argv) } std::fflush(stdout); measureCounter.waitAll(); - measureCounter.SaveCacheX("fm_banks/adldata-cache-x.dat"); + measureCounter.SaveCacheX("fm_banks/adldata-cache.dat"); } db.exportBanks(std::string(outFile_s)); diff --git a/utils/gen_adldata/measurer.cpp b/utils/gen_adldata/measurer.cpp index 4663072..f491b5d 100644 --- a/utils/gen_adldata/measurer.cpp +++ b/utils/gen_adldata/measurer.cpp @@ -175,59 +175,59 @@ struct TinySynth writeReg((uint16_t)initdata[a], (uint8_t)initdata[a + 1]); } - void setInstrument(const ins &in) - { - insdata rawData[2]; - bool found[2] = {false, false}; - for(InstrumentDataTab::const_iterator j = insdatatab.begin(); - j != insdatatab.end(); - ++j) - { - if(j->second.first == in.insno1) - { - rawData[0] = j->first; - found[0] = true; - if(found[1]) break; - } - if(j->second.first == in.insno2) - { - rawData[1] = j->first; - found[1] = true; - if(found[0]) break; - } - } - - std::memset(m_x, 0, sizeof(m_x)); - m_isRhythmMode = false; - m_playNoteNum = in.notenum >= 128 ? (in.notenum - 128) : in.notenum; - m_isReal4op = in.real4op && !in.pseudo4op; - m_isPseudo4op = in.pseudo4op; - if(m_playNoteNum == 0) - m_playNoteNum = 25; - m_notesNum = in.insno1 == in.insno2 ? 1 : 2; - m_actualNotesNum = (m_isReal4op ? 1 : m_notesNum); - m_voice1Detune = 0; - m_noteOffsets[0] = rawData[0].finetune; - m_noteOffsets[1] = rawData[1].finetune; - if(in.pseudo4op) - m_voice1Detune = in.voice2_fine_tune; - writeReg(0x104, in.real4op ? (1 << 6) - 1 : 0x00); - - //For cleaner measurement, disable tremolo and vibrato - rawData[0].data[0] &= 0x3F; - rawData[0].data[1] &= 0x3F; - rawData[1].data[0] &= 0x3F; - rawData[1].data[1] &= 0x3F; - - for(unsigned n = 0; n < m_notesNum; ++n) - { - static const unsigned char patchdata[11] = - {0x20, 0x23, 0x60, 0x63, 0x80, 0x83, 0xE0, 0xE3, 0x40, 0x43, 0xC0}; - for(unsigned a = 0; a < 10; ++a) - writeReg(patchdata[a] + n * 8, rawData[n].data[a]); - writeReg(patchdata[10] + n * 8, rawData[n].data[10] | 0x30); - } - } +// void setInstrument(const ins &in) +// { +// insdata rawData[2]; +// bool found[2] = {false, false}; +// for(InstrumentDataTab::const_iterator j = insdatatab.begin(); +// j != insdatatab.end(); +// ++j) +// { +// if(j->second.first == in.insno1) +// { +// rawData[0] = j->first; +// found[0] = true; +// if(found[1]) break; +// } +// if(j->second.first == in.insno2) +// { +// rawData[1] = j->first; +// found[1] = true; +// if(found[0]) break; +// } +// } + +// std::memset(m_x, 0, sizeof(m_x)); +// m_isRhythmMode = false; +// m_playNoteNum = in.notenum >= 128 ? (in.notenum - 128) : in.notenum; +// m_isReal4op = in.real4op && !in.pseudo4op; +// m_isPseudo4op = in.pseudo4op; +// if(m_playNoteNum == 0) +// m_playNoteNum = 25; +// m_notesNum = in.insno1 == in.insno2 ? 1 : 2; +// m_actualNotesNum = (m_isReal4op ? 1 : m_notesNum); +// m_voice1Detune = 0; +// m_noteOffsets[0] = rawData[0].finetune; +// m_noteOffsets[1] = rawData[1].finetune; +// if(in.pseudo4op) +// m_voice1Detune = in.voice2_fine_tune; +// writeReg(0x104, in.real4op ? (1 << 6) - 1 : 0x00); + +// //For cleaner measurement, disable tremolo and vibrato +// rawData[0].data[0] &= 0x3F; +// rawData[0].data[1] &= 0x3F; +// rawData[1].data[0] &= 0x3F; +// rawData[1].data[1] &= 0x3F; + +// for(unsigned n = 0; n < m_notesNum; ++n) +// { +// static const unsigned char patchdata[11] = +// {0x20, 0x23, 0x60, 0x63, 0x80, 0x83, 0xE0, 0xE3, 0x40, 0x43, 0xC0}; +// for(unsigned a = 0; a < 10; ++a) +// writeReg(patchdata[a] + n * 8, rawData[n].data[a]); +// writeReg(patchdata[10] + n * 8, rawData[n].data[10] | 0x30); +// } +// } void setInstrument(const BanksDump &db, const BanksDump::InstrumentEntry &ins) { @@ -332,7 +332,7 @@ struct TinySynth } }; - +#if 0 DurationInfo MeasureDurations(const ins &in, OPLChipBase *chip) { AudioHistory<double> audioHistory; @@ -522,7 +522,7 @@ DurationInfo MeasureDurations(const ins &in, OPLChipBase *chip) return result; } - +#endif DurationInfo MeasureDurations(BanksDump &db, const BanksDump::InstrumentEntry &ins, OPLChipBase *chip) { @@ -791,6 +791,7 @@ MeasureThreaded::MeasureThreaded() : DosBoxOPL3::globalPreInit(); } +#if 0 void MeasureThreaded::LoadCache(const char *fileName) { m_durationInfo.clear(); @@ -1025,6 +1026,7 @@ void MeasureThreaded::SaveCache(const char *fileName) } std::fclose(out); } +#endif void MeasureThreaded::LoadCacheX(const char *fileName) { @@ -1193,6 +1195,7 @@ void MeasureThreaded::printFinal() std::fflush(stdout); } +#if 0 void MeasureThreaded::run(InstrumentsData::const_iterator i) { m_semaphore.wait(); @@ -1221,6 +1224,7 @@ void MeasureThreaded::run(InstrumentsData::const_iterator i) printProgress(); #endif } +#endif void MeasureThreaded::run(BanksDump &bd, BanksDump::InstrumentEntry &e) { @@ -1305,6 +1309,7 @@ void MeasureThreaded::destData::callback(void *myself) } else { +#if 0 const ins &ok = s->i->first; s->myself->m_durationInfo_mx.lock(); DurationInfoCache::iterator cachedEntry = s->myself->m_durationInfo.find(ok); @@ -1321,6 +1326,7 @@ void MeasureThreaded::destData::callback(void *myself) s->myself->m_durationInfo_mx.lock(); s->myself->m_durationInfo.insert({ok, info}); s->myself->m_durationInfo_mx.unlock(); +#endif } endWork: diff --git a/utils/gen_adldata/measurer.h b/utils/gen_adldata/measurer.h index 60fdcb7..f49b9bf 100644 --- a/utils/gen_adldata/measurer.h +++ b/utils/gen_adldata/measurer.h @@ -70,8 +70,10 @@ struct MeasureThreaded std::atomic<size_t> m_done; std::atomic<size_t> m_cache_matches; +#if 0 void LoadCache(const char *fileName); void SaveCache(const char *fileName); +#endif void LoadCacheX(const char *fileName); void SaveCacheX(const char *fileName); @@ -101,13 +103,17 @@ struct MeasureThreaded void printProgress(); void printFinal(); +#if 0 void run(InstrumentsData::const_iterator i); +#endif void run(BanksDump &bd, BanksDump::InstrumentEntry &e); void waitAll(); }; class OPLChipBase; +#if 0 extern DurationInfo MeasureDurations(const ins &in, OPLChipBase *chip); +#endif extern DurationInfo MeasureDurations(const BanksDump &db, const BanksDump::InstrumentEntry &ins, OPLChipBase *chip); #endif // MEASURER_H diff --git a/utils/gen_adldata/progs_cache.cpp b/utils/gen_adldata/progs_cache.cpp index fa67da3..73b05da 100644 --- a/utils/gen_adldata/progs_cache.cpp +++ b/utils/gen_adldata/progs_cache.cpp @@ -11,126 +11,126 @@ #include "file_formats/load_wopl.h" #include "file_formats/load_ea.h" -InstrumentDataTab insdatatab; +//InstrumentDataTab insdatatab; -InstrumentsData instab; -InstProgsData progs; -BankSetupData banksetup; +//InstrumentsData instab; +//InstProgsData progs; +//BankSetupData banksetup; -std::vector<std::string> banknames; +//std::vector<std::string> banknames; //unsigned maxvalues[30] = { 0 }; -void SetBank(size_t bank, unsigned patch, size_t insno) -{ - progs[bank][patch] = insno + 1; -} - -void SetBankSetup(size_t bank, const AdlBankSetup &setup) -{ - banksetup[bank] = setup; -} - -size_t InsertIns(const insdata &id, ins &in, const std::string &name, const std::string &name2) -{ - return InsertIns(id, id, in, name, name2, true); -} - -size_t InsertIns( - const insdata &id, - const insdata &id2, - ins &in, - const std::string &name, - const std::string &name2, - bool oneVoice) -{ - { - InstrumentDataTab::iterator i = insdatatab.lower_bound(id); - - size_t insno = ~size_t(0); - if(i == insdatatab.end() || i->first != id) - { - std::pair<insdata, std::pair<size_t, std::set<std::string> > > res; - res.first = id; - res.second.first = insdatatab.size(); - if(!name.empty()) res.second.second.insert(name); - if(!name2.empty()) res.second.second.insert(name2); - insdatatab.insert(i, res); - insno = res.second.first; - } - else - { - if(!name.empty()) i->second.second.insert(name); - if(!name2.empty()) i->second.second.insert(name2); - insno = i->second.first; - } - - in.insno1 = insno; - in.instCache1 = id; - } - - if(oneVoice || (id == id2)) - { - in.insno2 = in.insno1; - in.instCache2 = in.instCache1; - } - else - { - InstrumentDataTab::iterator i = insdatatab.lower_bound(id2); - - size_t insno2 = ~size_t(0); - if(i == insdatatab.end() || i->first != id2) - { - std::pair<insdata, std::pair<size_t, std::set<std::string> > > res; - res.first = id2; - res.second.first = insdatatab.size(); - if(!name.empty()) res.second.second.insert(name); - if(!name2.empty()) res.second.second.insert(name2); - insdatatab.insert(i, res); - insno2 = res.second.first; - } - else - { - if(!name.empty()) i->second.second.insert(name); - if(!name2.empty()) i->second.second.insert(name2); - insno2 = i->second.first; - } - in.insno2 = insno2; - in.instCache2 = id2; - } - - { - InstrumentsData::iterator i = instab.lower_bound(in); - - size_t resno = ~size_t(0); - if(i == instab.end() || i->first != in) - { - std::pair<ins, std::pair<size_t, std::set<std::string> > > res; - res.first = in; - res.second.first = instab.size(); - if(!name.empty()) res.second.second.insert(name); - if(!name2.empty()) res.second.second.insert(name2); - instab.insert(i, res); - resno = res.second.first; - } - else - { - if(!name.empty()) i->second.second.insert(name); - if(!name2.empty()) i->second.second.insert(name2); - resno = i->second.first; - } - return resno; - } -} - -// Create silent 'nosound' instrument -size_t InsertNoSoundIns() -{ - // { 0x0F70700,0x0F70710, 0xFF,0xFF, 0x0,+0 }, - insdata tmp1 = MakeNoSoundIns(); - struct ins tmp2; - return InsertIns(tmp1, tmp1, tmp2, "nosound", ""); -} +//void SetBank(size_t bank, unsigned patch, size_t insno) +//{ +// progs[bank][patch] = insno + 1; +//} + +//void SetBankSetup(size_t bank, const AdlBankSetup &setup) +//{ +// banksetup[bank] = setup; +//} + +//size_t InsertIns(const insdata &id, ins &in, const std::string &name, const std::string &name2) +//{ +// return InsertIns(id, id, in, name, name2, true); +//} + +//size_t InsertIns( +// const insdata &id, +// const insdata &id2, +// ins &in, +// const std::string &name, +// const std::string &name2, +// bool oneVoice) +//{ +// { +// InstrumentDataTab::iterator i = insdatatab.lower_bound(id); + +// size_t insno = ~size_t(0); +// if(i == insdatatab.end() || i->first != id) +// { +// std::pair<insdata, std::pair<size_t, std::set<std::string> > > res; +// res.first = id; +// res.second.first = insdatatab.size(); +// if(!name.empty()) res.second.second.insert(name); +// if(!name2.empty()) res.second.second.insert(name2); +// insdatatab.insert(i, res); +// insno = res.second.first; +// } +// else +// { +// if(!name.empty()) i->second.second.insert(name); +// if(!name2.empty()) i->second.second.insert(name2); +// insno = i->second.first; +// } + +// in.insno1 = insno; +// in.instCache1 = id; +// } + +// if(oneVoice || (id == id2)) +// { +// in.insno2 = in.insno1; +// in.instCache2 = in.instCache1; +// } +// else +// { +// InstrumentDataTab::iterator i = insdatatab.lower_bound(id2); + +// size_t insno2 = ~size_t(0); +// if(i == insdatatab.end() || i->first != id2) +// { +// std::pair<insdata, std::pair<size_t, std::set<std::string> > > res; +// res.first = id2; +// res.second.first = insdatatab.size(); +// if(!name.empty()) res.second.second.insert(name); +// if(!name2.empty()) res.second.second.insert(name2); +// insdatatab.insert(i, res); +// insno2 = res.second.first; +// } +// else +// { +// if(!name.empty()) i->second.second.insert(name); +// if(!name2.empty()) i->second.second.insert(name2); +// insno2 = i->second.first; +// } +// in.insno2 = insno2; +// in.instCache2 = id2; +// } + +// { +// InstrumentsData::iterator i = instab.lower_bound(in); + +// size_t resno = ~size_t(0); +// if(i == instab.end() || i->first != in) +// { +// std::pair<ins, std::pair<size_t, std::set<std::string> > > res; +// res.first = in; +// res.second.first = instab.size(); +// if(!name.empty()) res.second.second.insert(name); +// if(!name2.empty()) res.second.second.insert(name2); +// instab.insert(i, res); +// resno = res.second.first; +// } +// else +// { +// if(!name.empty()) i->second.second.insert(name); +// if(!name2.empty()) i->second.second.insert(name2); +// resno = i->second.first; +// } +// return resno; +// } +//} + +//// Create silent 'nosound' instrument +//size_t InsertNoSoundIns() +//{ +// // { 0x0F70700,0x0F70710, 0xFF,0xFF, 0x0,+0 }, +// insdata tmp1 = MakeNoSoundIns(); +// struct ins tmp2; +// return InsertIns(tmp1, tmp1, tmp2, "nosound", ""); +//} insdata MakeNoSoundIns() { diff --git a/utils/gen_adldata/progs_cache.h b/utils/gen_adldata/progs_cache.h index 195c5f1..10e29aa 100644 --- a/utils/gen_adldata/progs_cache.h +++ b/utils/gen_adldata/progs_cache.h @@ -144,44 +144,44 @@ enum VolumesModels VOLUME_9X }; -struct AdlBankSetup -{ - int volumeModel; - bool deepTremolo; - bool deepVibrato; - bool scaleModulators; -}; +//struct AdlBankSetup +//{ +// int volumeModel; +// bool deepTremolo; +// bool deepVibrato; +// bool scaleModulators; +//}; -typedef std::map<insdata, std::pair<size_t, std::set<std::string> > > InstrumentDataTab; -extern InstrumentDataTab insdatatab; +//typedef std::map<insdata, std::pair<size_t, std::set<std::string> > > InstrumentDataTab; +//extern InstrumentDataTab insdatatab; -typedef std::map<ins, std::pair<size_t, std::set<std::string> > > InstrumentsData; -extern InstrumentsData instab; +//typedef std::map<ins, std::pair<size_t, std::set<std::string> > > InstrumentsData; +//extern InstrumentsData instab; -typedef std::map<size_t, std::map<size_t, size_t> > InstProgsData; -extern InstProgsData progs; +//typedef std::map<size_t, std::map<size_t, size_t> > InstProgsData; +//extern InstProgsData progs; -typedef std::map<size_t, AdlBankSetup> BankSetupData; -extern BankSetupData banksetup; +//typedef std::map<size_t, AdlBankSetup> BankSetupData; +//extern BankSetupData banksetup; -extern std::vector<std::string> banknames; +//extern std::vector<std::string> banknames; //static std::map<unsigned, std::map<unsigned, unsigned> > Correlate; //extern unsigned maxvalues[30]; -void SetBank(size_t bank, unsigned patch, size_t insno); -void SetBankSetup(size_t bank, const AdlBankSetup &setup); +//void SetBank(size_t bank, unsigned patch, size_t insno); +//void SetBankSetup(size_t bank, const AdlBankSetup &setup); -/* 2op voice instrument */ -size_t InsertIns(const insdata &id, ins &in, - const std::string &name, const std::string &name2); +///* 2op voice instrument */ +//size_t InsertIns(const insdata &id, ins &in, +// const std::string &name, const std::string &name2); -/* 4op voice instrument or double-voice 2-op instrument */ -size_t InsertIns(const insdata &id, const insdata &id2, ins &in, - const std::string &name, const std::string &name2, - bool oneVoice = false); +///* 4op voice instrument or double-voice 2-op instrument */ +//size_t InsertIns(const insdata &id, const insdata &id2, ins &in, +// const std::string &name, const std::string &name2, +// bool oneVoice = false); -size_t InsertNoSoundIns(); +//size_t InsertNoSoundIns(); insdata MakeNoSoundIns(); |