aboutsummaryrefslogtreecommitdiff
path: root/src/adlmidi_private.hpp
diff options
context:
space:
mode:
authorJP Cimalando <jpcima@users.noreply.github.com>2018-06-04 09:36:27 +0200
committerJP Cimalando <jpcima@users.noreply.github.com>2018-06-04 09:36:27 +0200
commitd8142ef298fa4ce54a8dbf8977709b9209c148e6 (patch)
treea67bdf3a05ab429834792124612452fcceda5e66 /src/adlmidi_private.hpp
parent51a7cb19a8656c91baf616df5986d8e4c4cce97d (diff)
downloadlibADLMIDI-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.hpp12
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()
{