diff options
Diffstat (limited to 'src/adlmidi_midiplay.hpp')
-rw-r--r-- | src/adlmidi_midiplay.hpp | 24 |
1 files changed, 19 insertions, 5 deletions
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; |