diff options
author | Vitaly Novichkov <admin@wohlnet.ru> | 2019-06-02 02:54:00 +0300 |
---|---|---|
committer | Vitaly Novichkov <admin@wohlnet.ru> | 2019-06-02 02:54:00 +0300 |
commit | 14303359fde2d8cf76a129296cf1f30fdcb57520 (patch) | |
tree | 549ace36cde2f58df0291c3e3a0956db3c507b82 /utils/gen_adldata/progs_cache.cpp | |
parent | 99cc4bfafcce3390bdd5d78ef8e55222d6507877 (diff) | |
download | libADLMIDI-14303359fde2d8cf76a129296cf1f30fdcb57520.tar.gz libADLMIDI-14303359fde2d8cf76a129296cf1f30fdcb57520.tar.bz2 libADLMIDI-14303359fde2d8cf76a129296cf1f30fdcb57520.zip |
Junglevision format is also supported by new DB
Diffstat (limited to 'utils/gen_adldata/progs_cache.cpp')
-rw-r--r-- | utils/gen_adldata/progs_cache.cpp | 23 |
1 files changed, 14 insertions, 9 deletions
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) |