diff options
author | Vitaly Novichkov <Wohlstand@users.noreply.github.com> | 2018-05-10 16:50:19 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-10 16:50:19 +0300 |
commit | 45b62ad60d5af46cd44957c6e04da1dc8292a972 (patch) | |
tree | 827b47cc0c72e08943fff5aa7c7c10262a9ebf32 /src/adlmidi_private.hpp | |
parent | bf25243afb80a171da29bbf97ef6fb7b9c3281bb (diff) | |
parent | 6545b648cded507215be777864194f4cc961f877 (diff) | |
download | libADLMIDI-45b62ad60d5af46cd44957c6e04da1dc8292a972.tar.gz libADLMIDI-45b62ad60d5af46cd44957c6e04da1dc8292a972.tar.bz2 libADLMIDI-45b62ad60d5af46cd44957c6e04da1dc8292a972.zip |
Merge pull request #85 from jpcima/fix-pitchbend
meaningful handling of pitch bend sensitivity
Diffstat (limited to 'src/adlmidi_private.hpp')
-rw-r--r-- | src/adlmidi_private.hpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/adlmidi_private.hpp b/src/adlmidi_private.hpp index 9fd6f97..5ac6ebc 100644 --- a/src/adlmidi_private.hpp +++ b/src/adlmidi_private.hpp @@ -599,6 +599,7 @@ public: uint8_t panning, vibrato, sustain; char ____padding[6]; double bend, bendsense; + int bendsense_lsb, bendsense_msb; double vibpos, vibspeed, vibdepth; int64_t vibdelay; uint8_t lastlrpn, lastmrpn; @@ -791,7 +792,9 @@ public: void resetAllControllers() { bend = 0.0; - bendsense = 2 / 8192.0; + bendsense_msb = 2; + bendsense_lsb = 0; + updateBendSensitivity(); volume = 100; expression = 127; sustain = 0; @@ -803,6 +806,11 @@ public: portamento = 0; brightness = 127; } + void updateBendSensitivity() + { + int cent = bendsense_msb * 100 + bendsense_lsb; + bendsense = cent * (0.01 / 8192.0); + } MIDIchannel() { activenotes_clear(); |