diff options
Diffstat (limited to 'utils/gen_adldata')
-rw-r--r-- | utils/gen_adldata/file_formats/load_op2.h | 8 | ||||
-rw-r--r-- | utils/gen_adldata/file_formats/load_wopl.h | 2 | ||||
-rw-r--r-- | utils/gen_adldata/measurer.cpp | 3 | ||||
-rw-r--r-- | utils/gen_adldata/measurer.h | 2 |
4 files changed, 6 insertions, 9 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)) { diff --git a/utils/gen_adldata/file_formats/load_wopl.h b/utils/gen_adldata/file_formats/load_wopl.h index 0f05b6a..0db911c 100644 --- a/utils/gen_adldata/file_formats/load_wopl.h +++ b/utils/gen_adldata/file_formats/load_wopl.h @@ -208,7 +208,7 @@ bool BankFormats::LoadWopl(BanksDump &db, const char *fn, unsigned bank, const s inst.instFlags = flags; inst.percussionKeyNumber = is_percussion ? data[offset + 38] : 0; inst.noteOffset1 = int8_t(toSint16BE((const uint8_t *)data.data() + offset + 32)); - inst.noteOffset2 = int8_t(toSint16BE((const uint8_t *)data.data() + offset + 32)); + inst.noteOffset2 = int8_t(toSint16BE((const uint8_t *)data.data() + offset + 34)); inst.secondVoiceDetune = static_cast<int_fast8_t>(data[offset + 37]); inst.midiVelocityOffset = static_cast<int_fast8_t>(data[offset + 36]); inst.fbConn = (static_cast<uint_fast16_t>(data[offset + 40])) | diff --git a/utils/gen_adldata/measurer.cpp b/utils/gen_adldata/measurer.cpp index 23e3883..fbae571 100644 --- a/utils/gen_adldata/measurer.cpp +++ b/utils/gen_adldata/measurer.cpp @@ -1238,7 +1238,8 @@ void MeasureThreaded::destData::callback(void *myself) static_cast<int_fast32_t>(s->bd_ins->fbConn), s->bd_ins->noteOffset1, s->bd_ins->noteOffset2, static_cast<int_fast32_t>(s->bd_ins->percussionKeyNumber), - static_cast<int_fast32_t>(s->bd_ins->instFlags)}; + static_cast<int_fast32_t>(s->bd_ins->instFlags), + static_cast<int_fast32_t>(s->bd_ins->secondVoiceDetune)}; DurationInfoCacheX::iterator cachedEntry = s->myself->m_durationInfoX.find(ok); if(cachedEntry != s->myself->m_durationInfoX.end()) { diff --git a/utils/gen_adldata/measurer.h b/utils/gen_adldata/measurer.h index d2b8a76..60fdcb7 100644 --- a/utils/gen_adldata/measurer.h +++ b/utils/gen_adldata/measurer.h @@ -55,7 +55,7 @@ private: struct MeasureThreaded { - typedef std::array<int_fast32_t, 9> OperatorsKey; + typedef std::array<int_fast32_t, 10> OperatorsKey; typedef std::map<ins, DurationInfo> DurationInfoCache; typedef std::map<OperatorsKey, DurationInfo> DurationInfoCacheX; |