aboutsummaryrefslogtreecommitdiff
path: root/src/adlmidi_midiplay.cpp
diff options
context:
space:
mode:
authorJP Cimalando <jpcima@users.noreply.github.com>2018-05-10 15:03:47 +0200
committerJP Cimalando <jpcima@users.noreply.github.com>2018-05-10 15:20:02 +0200
commit6545b648cded507215be777864194f4cc961f877 (patch)
tree827b47cc0c72e08943fff5aa7c7c10262a9ebf32 /src/adlmidi_midiplay.cpp
parentf729563b683c3ac7adcf07d2f4dffcdfa49fd605 (diff)
downloadlibADLMIDI-6545b648cded507215be777864194f4cc961f877.tar.gz
libADLMIDI-6545b648cded507215be777864194f4cc961f877.tar.bz2
libADLMIDI-6545b648cded507215be777864194f4cc961f877.zip
meaningful handling of pitch bend sensitivity
Diffstat (limited to 'src/adlmidi_midiplay.cpp')
-rw-r--r--src/adlmidi_midiplay.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/adlmidi_midiplay.cpp b/src/adlmidi_midiplay.cpp
index 39d7bff..e7489b1 100644
--- a/src/adlmidi_midiplay.cpp
+++ b/src/adlmidi_midiplay.cpp
@@ -2358,8 +2358,14 @@ void MIDIplay::SetRPN(unsigned MidCh, unsigned value, bool MSB)
switch(addr + nrpn * 0x10000 + MSB * 0x20000)
{
case 0x0000 + 0*0x10000 + 1*0x20000: // Pitch-bender sensitivity
- Ch[MidCh].bendsense = value / 8192.0;
+ {
+ if (MSB)
+ Ch[MidCh].bendsense_msb = value;
+ else
+ Ch[MidCh].bendsense_lsb = value;
+ Ch[MidCh].updateBendSensitivity();
break;
+ }
case 0x0108 + 1*0x10000 + 1*0x20000: // Vibrato speed
if(value == 64) Ch[MidCh].vibspeed = 1.0;
else if(value < 100) Ch[MidCh].vibspeed = 1.0 / (1.6e-2 * (value ? value : 1));