aboutsummaryrefslogtreecommitdiff
path: root/src/adlmidi_midiplay.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/adlmidi_midiplay.hpp')
-rw-r--r--src/adlmidi_midiplay.hpp24
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;