diff options
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() { |