From 14303359fde2d8cf76a129296cf1f30fdcb57520 Mon Sep 17 00:00:00 2001 From: Vitaly Novichkov Date: Sun, 2 Jun 2019 02:54:00 +0300 Subject: Junglevision format is also supported by new DB --- utils/gen_adldata/progs_cache.cpp | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) (limited to 'utils/gen_adldata/progs_cache.cpp') diff --git a/utils/gen_adldata/progs_cache.cpp b/utils/gen_adldata/progs_cache.cpp index e720384..9200f0f 100644 --- a/utils/gen_adldata/progs_cache.cpp +++ b/utils/gen_adldata/progs_cache.cpp @@ -151,20 +151,25 @@ void BanksDump::toOps(const insdata &inData, BanksDump::Operator *outData, size_ size_t BanksDump::initBank(size_t bankId, const std::string &title, uint_fast16_t bankSetup) { -#if 0 - assert(bankId <= banks.size()); - if(bankId >= banks.size()) - banks.emplace_back(); - BankEntry &b = banks[bankId]; -#else - bankId = banks.size(); + for(size_t bID = 0; bID < banks.size(); bID++) + { + BankEntry &be = banks[bID]; + if(bankId == be.bankId) + { + be.bankTitle = title; + be.bankSetup = bankSetup; + return bID; + } + } + + size_t bankIndex = banks.size(); banks.emplace_back(); BankEntry &b = banks.back(); -#endif + b.bankId = bankId; b.bankTitle = title; b.bankSetup = bankSetup; - return b.bankId; + return bankIndex; } void BanksDump::addMidiBank(size_t bankId, bool percussion, BanksDump::MidiBank b) -- cgit v1.2.3