aboutsummaryrefslogtreecommitdiff
path: root/utils/gen_adldata/progs_cache.h
diff options
context:
space:
mode:
authorWohlstand <admin@wohlnet.ru>2017-11-04 15:32:02 +0300
committerWohlstand <admin@wohlnet.ru>2017-11-04 15:32:02 +0300
commit8861a00a87fc09ec5b08d3c8ee1d47fa6f5d6c6e (patch)
treecb4974f46ddacd1b50d257d98fff0b693222ba25 /utils/gen_adldata/progs_cache.h
parent79a4100777d99c00e983ee78b4539acc349bd148 (diff)
downloadlibADLMIDI-8861a00a87fc09ec5b08d3c8ee1d47fa6f5d6c6e.tar.gz
libADLMIDI-8861a00a87fc09ec5b08d3c8ee1d47fa6f5d6c6e.tar.bz2
libADLMIDI-8861a00a87fc09ec5b08d3c8ee1d47fa6f5d6c6e.zip
All real 4-operator voices are must be different
Diffstat (limited to 'utils/gen_adldata/progs_cache.h')
-rw-r--r--utils/gen_adldata/progs_cache.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/utils/gen_adldata/progs_cache.h b/utils/gen_adldata/progs_cache.h
index 96dfe32..c7eb9da 100644
--- a/utils/gen_adldata/progs_cache.h
+++ b/utils/gen_adldata/progs_cache.h
@@ -30,7 +30,7 @@ struct insdata
int c = std::memcmp(data, b.data, 11);
if(c != 0) return c < 0;
if(finetune != b.finetune) return finetune < b.finetune;
- if(diff != b.diff) return (!diff) == (b.diff);
+ if(diff != b.diff) return (diff) == (!b.diff);
return 0;
}
bool operator>(const insdata &b) const
@@ -92,8 +92,15 @@ extern std::vector<std::string> banknames;
void SetBank(unsigned bank, unsigned patch, size_t insno);
-size_t InsertIns(const insdata &id, const insdata &id2, ins &in,
+/* 2op voice instrument */
+size_t InsertIns(const insdata &id, ins &in,
const std::string &name, const std::string &name2);
+
+/* 4op voice instrument or double-voice 2-op instrument */
+size_t InsertIns(const insdata &id, const insdata &id2, ins &in,
+ const std::string &name, const std::string &name2,
+ bool oneVoice = false);
+
size_t InsertNoSoundIns();
insdata MakeNoSoundIns();