diff options
author | Vitaly Novichkov <admin@wohlnet.ru> | 2019-07-02 01:11:42 +0300 |
---|---|---|
committer | Vitaly Novichkov <admin@wohlnet.ru> | 2019-07-02 01:11:42 +0300 |
commit | 6a3a102b21e7d0b4e8fe3147294d9b02f0fcd166 (patch) | |
tree | e64dd09af1362b8442f568138eb88feab1beb311 /utils/gen_adldata/file_formats/load_op2.h | |
parent | 2049fb0a387b627a2c63442ea34973f4864533c4 (diff) | |
download | libADLMIDI-6a3a102b21e7d0b4e8fe3147294d9b02f0fcd166.tar.gz libADLMIDI-6a3a102b21e7d0b4e8fe3147294d9b02f0fcd166.tar.bz2 libADLMIDI-6a3a102b21e7d0b4e8fe3147294d9b02f0fcd166.zip |
Fix for pseudo-4op instruments
Diffstat (limited to 'utils/gen_adldata/file_formats/load_op2.h')
-rw-r--r-- | utils/gen_adldata/file_formats/load_op2.h | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/utils/gen_adldata/file_formats/load_op2.h b/utils/gen_adldata/file_formats/load_op2.h index 1d7ea6f..6599a9f 100644 --- a/utils/gen_adldata/file_formats/load_op2.h +++ b/utils/gen_adldata/file_formats/load_op2.h @@ -112,10 +112,6 @@ bool BankFormats::LoadDoom(BanksDump &db, const char *fn, unsigned bank, const s tmp[index].data[10] = src.feedback; tmp[index].finetune = int8_t(src.basenote + 12); inst.fbConn |= (uint_fast16_t(src.feedback) << (a == 1 ? 8 : 0)); - if(a == 0) - inst.noteOffset1 = int8_t(src.basenote + 12); - else - inst.noteOffset2 = int8_t(src.basenote + 12); db.toOps(tmp[index], ops, index * 2); } struct ins tmp2; @@ -137,9 +133,9 @@ bool BankFormats::LoadDoom(BanksDump &db, const char *fn, unsigned bank, const s inst.noteOffset2 = int8_t(tmp[1].finetune); if((ins.flags & FL_DOUBLE_VOICE) != 0) - inst.instFlags |= BanksDump::InstrumentEntry::WOPL_Ins_Pseudo4op; + inst.instFlags |= BanksDump::InstrumentEntry::WOPL_Ins_4op | BanksDump::InstrumentEntry::WOPL_Ins_Pseudo4op; inst.percussionKeyNumber = tmp2.notenum; - inst.secondVoiceDetune = ins.finetune; + inst.secondVoiceDetune = static_cast<char>(static_cast<int>(ins.finetune) - 128); if(!(ins.flags & FL_DOUBLE_VOICE)) { |