aboutsummaryrefslogtreecommitdiff
path: root/src/adlmidi_midiplay.cpp
diff options
context:
space:
mode:
authorJP Cimalando <jpcima@users.noreply.github.com>2018-05-10 16:19:27 +0200
committerJP Cimalando <jpcima@users.noreply.github.com>2018-05-10 16:19:27 +0200
commit82b0b69707fe69108fd1721b97f14b55d5c50642 (patch)
treedea39da4f93e10bf881889314d982c1a76faef67 /src/adlmidi_midiplay.cpp
parent6545b648cded507215be777864194f4cc961f877 (diff)
downloadlibADLMIDI-82b0b69707fe69108fd1721b97f14b55d5c50642.tar.gz
libADLMIDI-82b0b69707fe69108fd1721b97f14b55d5c50642.tar.bz2
libADLMIDI-82b0b69707fe69108fd1721b97f14b55d5c50642.zip
pitch bend sensitivity attempt #2
Diffstat (limited to 'src/adlmidi_midiplay.cpp')
-rw-r--r--src/adlmidi_midiplay.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/adlmidi_midiplay.cpp b/src/adlmidi_midiplay.cpp
index e7489b1..6bc2366 100644
--- a/src/adlmidi_midiplay.cpp
+++ b/src/adlmidi_midiplay.cpp
@@ -2358,14 +2358,13 @@ void MIDIplay::SetRPN(unsigned MidCh, unsigned value, bool MSB)
switch(addr + nrpn * 0x10000 + MSB * 0x20000)
{
case 0x0000 + 0*0x10000 + 1*0x20000: // Pitch-bender sensitivity
- {
- if (MSB)
- Ch[MidCh].bendsense_msb = value;
- else
- Ch[MidCh].bendsense_lsb = value;
+ Ch[MidCh].bendsense_msb = value;
+ Ch[MidCh].updateBendSensitivity();
+ break;
+ case 0x0000 + 0*0x10000 + 0*0x20000: // Pitch-bender sensitivity LSB
+ 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));