From 8861a00a87fc09ec5b08d3c8ee1d47fa6f5d6c6e Mon Sep 17 00:00:00 2001 From: Wohlstand Date: Sat, 4 Nov 2017 15:32:02 +0300 Subject: All real 4-operator voices are must be different --- utils/gen_adldata/progs_cache.cpp | 24 +++++++++++++++--------- 1 file changed, 15 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 b36ae2c..04960e4 100644 --- a/utils/gen_adldata/progs_cache.cpp +++ b/utils/gen_adldata/progs_cache.cpp @@ -14,18 +14,23 @@ void SetBank(unsigned bank, unsigned patch, size_t insno) progs[bank][patch] = insno + 1; } +size_t InsertIns(const insdata &id, ins &in, const std::string &name, const std::string &name2) +{ + return InsertIns(id, id, in, name, name2, true); +} + size_t InsertIns( const insdata &id, const insdata &id2, ins &in, const std::string &name, - const std::string &name2) + const std::string &name2, + bool oneVoice) { - if(true) { InstrumentDataTab::iterator i = insdatatab.lower_bound(id); - size_t insno = size_t(~0); + size_t insno = ~size_t(0); if(i == insdatatab.end() || i->first != id) { std::pair > > res; @@ -45,11 +50,14 @@ size_t InsertIns( in.insno1 = insno; } - if(id != id2) + + if(oneVoice || (id == id2)) + in.insno2 = in.insno1; + else { InstrumentDataTab::iterator i = insdatatab.lower_bound(id2); - size_t insno2 = size_t(~0); + size_t insno2 = ~size_t(0); if(i == insdatatab.end() || i->first != id2) { std::pair > > res; @@ -68,14 +76,11 @@ size_t InsertIns( } in.insno2 = insno2; } - else - in.insno2 = in.insno1; - { InstrumentsData::iterator i = instab.lower_bound(in); - size_t resno = size_t(~0); + size_t resno = ~size_t(0); if(i == instab.end() || i->first != in) { std::pair > > res; @@ -109,3 +114,4 @@ insdata MakeNoSoundIns() { return { {0x00, 0x10, 0x07, 0x07, 0xF7, 0xF7, 0x00, 0x00, 0xFF, 0xFF, 0x00}, 0, false}; } + -- cgit v1.2.3