diff options
author | Wohlstand <admin@wohlnet.ru> | 2020-08-21 22:33:07 +0300 |
---|---|---|
committer | Wohlstand <admin@wohlnet.ru> | 2020-08-21 22:33:07 +0300 |
commit | c025dc0c06eed05800d5081380b7771e2de6fea4 (patch) | |
tree | 19f00334bc6d21ea218bc1fddc36fe6fbb674758 /utils/gen_adldata | |
parent | 75637f387b2d91bf81ee2558244c030c3f7df26d (diff) | |
parent | af8b30f7b83d4ee00f5255f84cc4305d609b446f (diff) | |
download | libADLMIDI-c025dc0c06eed05800d5081380b7771e2de6fea4.tar.gz libADLMIDI-c025dc0c06eed05800d5081380b7771e2de6fea4.tar.bz2 libADLMIDI-c025dc0c06eed05800d5081380b7771e2de6fea4.zip |
Merge branch 'master' into wip-new-embedded-banks
Diffstat (limited to 'utils/gen_adldata')
-rw-r--r-- | utils/gen_adldata/file_formats/load_op2.h | 7 | ||||
-rw-r--r-- | utils/gen_adldata/file_formats/load_wopl.h | 8 |
2 files changed, 4 insertions, 11 deletions
diff --git a/utils/gen_adldata/file_formats/load_op2.h b/utils/gen_adldata/file_formats/load_op2.h index 70b23de..494655d 100644 --- a/utils/gen_adldata/file_formats/load_op2.h +++ b/utils/gen_adldata/file_formats/load_op2.h @@ -145,11 +145,8 @@ bool BankFormats::LoadDoom(BanksDump &db, const char *fn, unsigned bank, const s else // Double instrument { tmp2.pseudo4op = true; - tmp2.voice2_fine_tune = (((double)ins.finetune - 128.0) * 15.625) / 1000.0; - if(ins.finetune == 129) - tmp2.voice2_fine_tune = 0.000025; - else if(ins.finetune == 127) - tmp2.voice2_fine_tune = -0.000025; + // Simulate behavior of DMX second voice detune + tmp2.voice2_fine_tune = (double)((ins.finetune >> 1) - 64) / 32.0; //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); diff --git a/utils/gen_adldata/file_formats/load_wopl.h b/utils/gen_adldata/file_formats/load_wopl.h index 265c6bf..a60cbc4 100644 --- a/utils/gen_adldata/file_formats/load_wopl.h +++ b/utils/gen_adldata/file_formats/load_wopl.h @@ -223,12 +223,8 @@ bool BankFormats::LoadWopl(BanksDump &db, const char *fn, unsigned bank, const s int8_t fine_tune = (int8_t)data[offset + 37]; if(fine_tune != 0) { - if(fine_tune == 1) - tmp2.voice2_fine_tune = 0.000025; - else if(fine_tune == -1) - tmp2.voice2_fine_tune = -0.000025; - else - tmp2.voice2_fine_tune = ((fine_tune * 15.625) / 1000.0); + // Simulate behavior of DMX second voice detune + tmp2.voice2_fine_tune = (double)((((int)fine_tune + 128) >> 1) - 64) / 32.0; } uint32_t gmno = is_percussion ? i + 128 : i; |