aboutsummaryrefslogtreecommitdiff
path: root/src/adlmidi_db.h
diff options
context:
space:
mode:
authorWohlstand <admin@wohlnet.ru>2019-06-06 21:27:19 +0300
committerWohlstand <admin@wohlnet.ru>2019-06-06 21:27:19 +0300
commit86d471c8d664f0c6921f30f0fce4e8d2a7cab77d (patch)
tree49f94ead51b1487fce0033052b48c324a450658f /src/adlmidi_db.h
parent14303359fde2d8cf76a129296cf1f30fdcb57520 (diff)
downloadlibADLMIDI-86d471c8d664f0c6921f30f0fce4e8d2a7cab77d.tar.gz
libADLMIDI-86d471c8d664f0c6921f30f0fce4e8d2a7cab77d.tar.bz2
libADLMIDI-86d471c8d664f0c6921f30f0fce4e8d2a7cab77d.zip
Added IBK and C++98 support for generated database
Diffstat (limited to 'src/adlmidi_db.h')
-rw-r--r--src/adlmidi_db.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/adlmidi_db.h b/src/adlmidi_db.h
new file mode 100644
index 0000000..7294c6d
--- /dev/null
+++ b/src/adlmidi_db.h
@@ -0,0 +1,52 @@
+#include <stdint.h>
+#include <stddef.h>
+#include <vector>
+
+extern const size_t g_embeddedBanksCount;
+
+struct BanksDump
+{
+ struct BankEntry
+ {
+ uint16_t bankSetup;
+ uint16_t banksMelodicCount;
+ uint16_t banksPercussionCount;
+ const char *title;
+ uint16_t banksOffsetMelodic;
+ uint16_t banksOffsetPercussive;
+ };
+
+ struct MidiBank
+ {
+ uint8_t msb;
+ uint8_t lsb;
+ int16_t insts[128];
+ };
+
+ struct InstrumentEntry
+ {
+ int16_t noteOffset1;
+ int16_t noteOffset2;
+ int8_t midiVelocityOffset;
+ uint8_t percussionKeyNumber;
+ uint8_t instFlags;
+ int8_t secondVoiceDetune;
+ uint16_t fbConn;
+ uint16_t delay_on_ms;
+ uint16_t delay_off_ms;
+ int16_t ops[4];
+ };
+
+ struct Operator
+ {
+ uint32_t d_E862;
+ uint8_t d_40;
+ };
+};
+
+extern const BanksDump::BankEntry g_embeddedBanks[];
+extern const size_t g_embeddedBanksMidiIndex[];
+extern const BanksDump::MidiBank g_embeddedBanksMidi[];
+extern const BanksDump::InstrumentEntry g_embeddedBanksInstruments[];
+extern const BanksDump::Operator g_embeddedBanksOperators[];
+