aboutsummaryrefslogtreecommitdiff
path: root/src/adlmidi_db.h
diff options
context:
space:
mode:
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[];
+