diff options
author | Wohlstand <admin@wohlnet.ru> | 2020-08-23 22:10:46 +0300 |
---|---|---|
committer | Wohlstand <admin@wohlnet.ru> | 2020-08-23 22:10:46 +0300 |
commit | f656802667e93be893ebc30a18b0f12482586e6f (patch) | |
tree | cfc7288ee0b7cb05168e84b99abe892420ea29b9 /utils/gen_adldata/gen_adldata.cc | |
parent | 5c34909e6c77fabc2e5bfa33190b9994707e6b9e (diff) | |
download | libADLMIDI-f656802667e93be893ebc30a18b0f12482586e6f.tar.gz libADLMIDI-f656802667e93be893ebc30a18b0f12482586e6f.tar.bz2 libADLMIDI-f656802667e93be893ebc30a18b0f12482586e6f.zip |
gen_adldata: remove the rest of old code
Diffstat (limited to 'utils/gen_adldata/gen_adldata.cc')
-rw-r--r-- | utils/gen_adldata/gen_adldata.cc | 274 |
1 files changed, 0 insertions, 274 deletions
diff --git a/utils/gen_adldata/gen_adldata.cc b/utils/gen_adldata/gen_adldata.cc index e62ddf2..b67e53b 100644 --- a/utils/gen_adldata/gen_adldata.cc +++ b/utils/gen_adldata/gen_adldata.cc @@ -28,29 +28,8 @@ 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\ -/* THIS OPL-3 FM INSTRUMENT DATA IS AUTOMATICALLY GENERATED\n\ - * FROM A NUMBER OF SOURCES, MOSTLY PC GAMES.\n\ - * PREPROCESSED, CONVERTED, AND POSTPROCESSED OFF-SCREEN.\n\ - */\n\ -"); -#endif - - { IniProcessing ini; if(!ini.open("banks.ini")) @@ -230,260 +209,7 @@ int main(int argc, char**argv) std::fflush(stdout); } - #if 0 - for(unsigned a = 0; a < 36 * 8; ++a) - { - if((1 << (a % 8)) > maxvalues[a / 8]) continue; - - const std::map<unsigned, unsigned> &data = Correlate[a]; - if(data.empty()) continue; - std::vector< std::pair<unsigned, unsigned> > correlations; - for(std::map<unsigned, unsigned>::const_iterator - i = data.begin(); - i != data.end(); - ++i) - { - correlations.push_back(std::make_pair(i->second, i->first)); - } - std::sort(correlations.begin(), correlations.end()); - std::fprintf(outFile, "Byte %2u bit %u=mask %02X:\n", a / 8, a % 8, 1 << (a % 8)); - for(size_t c = 0; c < correlations.size() && c < 10; ++c) - { - unsigned count = correlations[correlations.size() - 1 - c ].first; - unsigned index = correlations[correlations.size() - 1 - c ].second; - std::fprintf(outFile, "\tAdldata index %u, bit %u=mask %02X (%u matches)\n", - index / 8, index % 8, 1 << (index % 8), count); - } - } - #endif - -// 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 - -// 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) - 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; - //DurationInfo info = MeasureDurations(i->first); - MeasureThreaded::DurationInfoCache::iterator indo_i = measureCounter.m_durationInfo.find(i->first); - DurationInfo info = indo_i->second; -#ifdef ADLDATA_WITH_COMMENTS - { - if(info.peak_amplitude_time == 0) - { - std::fprintf(outFile, - " // Amplitude begins at %6.1f,\n" - " // fades to 20%% at %.1fs, keyoff fades to 20%% in %.1fs.\n", - info.begin_amplitude, - info.quarter_amplitude_time / double(info.interval), - info.keyoff_out_time / double(info.interval)); - } - else - { - std::fprintf(outFile, - " // Amplitude begins at %6.1f, peaks %6.1f at %.1fs,\n" - " // fades to 20%% at %.1fs, keyoff fades to 20%% in %.1fs.\n", - info.begin_amplitude, - info.peak_amplitude_value, - info.peak_amplitude_time / double(info.interval), - info.quarter_amplitude_time / double(info.interval), - info.keyoff_out_time / double(info.interval)); - } - } -#endif - - unsigned flags = (i->first.pseudo4op ? ins::Flag_Pseudo4op : 0)| - (i->first.real4op ? ins::Flag_Real4op : 0) | - (info.nosound ? ins::Flag_NoSound : 0) | i->first.rhythmModeDrum; - - std::fprintf(outFile, " {"); - std::fprintf(outFile, "%4d,%4d,%3d, %d, %6" PRId64 ",%6" PRId64 ", %6d, %g", - (unsigned) i->first.insno1, - (unsigned) i->first.insno2, - (int)(i->first.notenum), - flags, - info.ms_sound_kon, - info.ms_sound_koff, - i->first.midi_velocity_offset, - i->first.voice2_fine_tune); - 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; - } -#ifdef ADLDATA_WITH_COMMENTS - std::fprintf(outFile, " }, // %u: %s\n\n", (unsigned)c, names.c_str()); -#else - std::fprintf(outFile, " },\n"); -#endif - std::fflush(outFile); - adlins_flags.push_back(flags); - } - std::fprintf(outFile, "};\n\n"); - - - std::printf("Writing banks data...\n"); - std::fflush(stdout); - - //fprintf(outFile, "static const unsigned short banks[][256] =\n"); -#ifdef HARD_BANKS - const unsigned bankcount = sizeof(banknames) / sizeof(*banknames); -#else - const size_t bankcount = banknames.size(); -#endif - - size_t nosound = InsertNoSoundIns(); - - std::map<size_t, std::vector<size_t> > bank_data; - for(size_t bank = 0; bank < bankcount; ++bank) - { - //bool redundant = true; - std::vector<size_t> data(256); - for(size_t p = 0; p < 256; ++p) - { - size_t v = progs[bank][p]; - if(v == 0 || (adlins_flags[v - 1] & 2)) - v = nosound; // Blank.in - else - v -= 1; - data[p] = v; - } - bank_data[bank] = data; - } - std::set<size_t> listed; - - - std::fprintf(outFile, - "\n\n//Returns total number of generated banks\n" - "int maxAdlBanks()\n" - "{\n" - " return %u;\n" - "}\n\n" - "const char* const banknames[%u] =\n", - (unsigned int)bankcount, - (unsigned int)(bankcount + 1)); - std::fprintf(outFile, "{\n"); - for(size_t bank = 0; bank < bankcount; ++bank) - std::fprintf(outFile, " \"%s\",\n", banknames[bank].c_str()); - std::fprintf(outFile, " NULL\n};\n"); - - std::fprintf(outFile, "const unsigned short banks[%u][256] =\n", (unsigned int)bankcount); - std::fprintf(outFile, "{\n"); - for(size_t bank = 0; bank < bankcount; ++bank) - { -#ifdef ADLDATA_WITH_COMMENTS - std::fprintf(outFile, " { // bank %u, %s\n", bank, banknames[bank].c_str()); -#else - std::fprintf(outFile, " {\n"); - #endif -#ifdef ADLDATA_WITH_COMMENTS - bool redundant = true; -#endif - for(size_t p = 0; p < 256; ++p) - { - size_t v = bank_data[bank][p]; - if(listed.find(v) == listed.end()) - { - listed.insert(v); -#ifdef ADLDATA_WITH_COMMENTS - redundant = false; -#endif - } - std::fprintf(outFile, "%4d,", (unsigned int)v); - if(p % 16 == 15) fprintf(outFile, "\n"); - } - std::fprintf(outFile, " },\n"); -#ifdef ADLDATA_WITH_COMMENTS - if(redundant) - { - std::fprintf(outFile, " // Bank %u defines nothing new.\n", bank); - for(unsigned refbank = 0; refbank < bank; ++refbank) - { - bool match = true; - for(unsigned p = 0; p < 256; ++p) - if(bank_data[bank][p] != nosound - && bank_data[bank][p] != bank_data[refbank][p]) - { - match = false; - break; - } - if(match) - std::fprintf(outFile, " // Bank %u is just a subset of bank %u!\n", - bank, refbank); - } - } -#endif - } - -#endif - - -#if 0 - std::fprintf(outFile, "};\n\n"); - std::fflush(outFile); - - std::fprintf(outFile, "const AdlBankSetup adlbanksetup[%u] =\n", (unsigned)banksetup.size()); - std::fprintf(outFile, "{\n"); - { - BankSetupData::iterator last = banksetup.end(); - last--; - for(BankSetupData::iterator it = banksetup.begin(); it != banksetup.end(); it++) - { - AdlBankSetup &setup = it->second; - std::fprintf(outFile, " {%d, %d, %d, %d}", - setup.volumeModel, - setup.deepTremolo, - setup.deepVibrato, - setup.scaleModulators); - if(it != last) - std::fprintf(outFile, ", //Bank %u, %s\n", (unsigned)it->first, banknames[it->first].c_str()); - else - std::fprintf(outFile, " //Bank %u, %s\n", (unsigned)it->first, banknames[it->first].c_str()); - } - } - std::fprintf(outFile, "};\n"); - std::fflush(outFile); - - std::fclose(outFile); -#endif { measureCounter.LoadCacheX("fm_banks/adldata-cache.dat"); |