diff options
author | JP Cimalando <jpcima@users.noreply.github.com> | 2018-06-04 09:36:27 +0200 |
---|---|---|
committer | JP Cimalando <jpcima@users.noreply.github.com> | 2018-06-04 09:36:27 +0200 |
commit | d8142ef298fa4ce54a8dbf8977709b9209c148e6 (patch) | |
tree | a67bdf3a05ab429834792124612452fcceda5e66 /src/adlmidi_private.hpp | |
parent | 51a7cb19a8656c91baf616df5986d8e4c4cce97d (diff) | |
download | libADLMIDI-d8142ef298fa4ce54a8dbf8977709b9209c148e6.tar.gz libADLMIDI-d8142ef298fa4ce54a8dbf8977709b9209c148e6.tar.bz2 libADLMIDI-d8142ef298fa4ce54a8dbf8977709b9209c148e6.zip |
new pitchbend strategy
Diffstat (limited to 'src/adlmidi_private.hpp')
-rw-r--r-- | src/adlmidi_private.hpp | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/adlmidi_private.hpp b/src/adlmidi_private.hpp index c720fc2..3aaeaf0 100644 --- a/src/adlmidi_private.hpp +++ b/src/adlmidi_private.hpp @@ -504,8 +504,8 @@ public: //! Is note aftertouch has any non-zero value bool noteAfterTouchInUse; char ____padding[6]; - double bendSrc; - double bend, bendsense; + int bend; + double bendsense; int bendsense_lsb, bendsense_msb; double vibpos, vibspeed, vibdepth; int64_t vibdelay; @@ -699,8 +699,7 @@ public: } void resetAllControllers() { - bendSrc = 0.0; - bend = 0.0; + bend = 0; bendsense_msb = 2; bendsense_lsb = 0; updateBendSensitivity(); @@ -724,9 +723,8 @@ public: } void updateBendSensitivity() { - int cent = bendsense_msb + static_cast<int>(static_cast<double>(bendsense_lsb) * (1.0 / 128.0)); - bendsense = static_cast<double>(cent) / 8192.0; - bend = bendSrc * bendsense; + int cent = bendsense_msb * 128 + bendsense_lsb; + bendsense = cent * (1.0 / (128 * 8192)); } MIDIchannel() { |