aboutsummaryrefslogtreecommitdiff
path: root/src/adlmidi_private.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/adlmidi_private.hpp')
-rw-r--r--src/adlmidi_private.hpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/adlmidi_private.hpp b/src/adlmidi_private.hpp
index 0584587..c720fc2 100644
--- a/src/adlmidi_private.hpp
+++ b/src/adlmidi_private.hpp
@@ -504,6 +504,7 @@ public:
//! Is note aftertouch has any non-zero value
bool noteAfterTouchInUse;
char ____padding[6];
+ double bendSrc;
double bend, bendsense;
int bendsense_lsb, bendsense_msb;
double vibpos, vibspeed, vibdepth;
@@ -698,6 +699,7 @@ public:
}
void resetAllControllers()
{
+ bendSrc = 0.0;
bend = 0.0;
bendsense_msb = 2;
bendsense_lsb = 0;
@@ -722,8 +724,9 @@ public:
}
void updateBendSensitivity()
{
- int cent = bendsense_msb * 100 + bendsense_lsb;
- bendsense = cent * (0.01 / 8192.0);
+ 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;
}
MIDIchannel()
{