From d29b0cacf3e7a1da793fc2692a958dcf6c4b9c75 Mon Sep 17 00:00:00 2001 From: Wohlstand Date: Wed, 2 Sep 2020 22:49:04 +0300 Subject: When playing XMIDI files, set defaults of AIL - Default volume in AIL is 127 - Default pitch bend sensitivity is a full octave up, and full octave down: MSB=12, LSB=0 --- src/adlmidi_midiplay.hpp | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) (limited to 'src/adlmidi_midiplay.hpp') diff --git a/src/adlmidi_midiplay.hpp b/src/adlmidi_midiplay.hpp index f7732fe..93b36e9 100644 --- a/src/adlmidi_midiplay.hpp +++ b/src/adlmidi_midiplay.hpp @@ -64,6 +64,10 @@ public: void partialReset(); void resetMIDI(); +private: + void resetMIDIDefaults(int offset = 0); + +public: /**********************Internal structures and classes**********************/ /** @@ -71,6 +75,13 @@ public: */ struct MIDIchannel { + //! Default MIDI volume + uint8_t def_volume; + //! Default LSB of a bend sensitivity + int def_bendsense_lsb; + //! Default MSB of a bend sensitivity + int def_bendsense_msb; + //! LSB Bank number uint8_t bank_lsb, //! MSB Bank number @@ -317,10 +328,10 @@ public: void resetAllControllers() { bend = 0; - bendsense_msb = 2; - bendsense_lsb = 0; + bendsense_msb = def_bendsense_msb; + bendsense_lsb = def_bendsense_lsb; updateBendSensitivity(); - volume = 100; + volume = def_volume; expression = 127; sustain = false; softPedal = false; @@ -369,8 +380,11 @@ public: --extended_note_count; } - MIDIchannel() - : activenotes(128) + MIDIchannel() : + def_volume(100), + def_bendsense_lsb(0), + def_bendsense_msb(2), + activenotes(128) { gliding_note_count = 0; extended_note_count = 0; -- cgit v1.2.3