aboutsummaryrefslogtreecommitdiff
path: root/src/adlmidi_midiplay.cpp
diff options
context:
space:
mode:
authorVitaly Novichkov <admin@wohlnet.ru>2018-05-14 03:45:19 +0300
committerVitaly Novichkov <admin@wohlnet.ru>2018-05-14 03:45:19 +0300
commit372f2c17e15e846def959f34f67c61f679ee7bc4 (patch)
tree4c1014f3853edbff1af2d2992d66477be0b00f0f /src/adlmidi_midiplay.cpp
parent802e07b3c276d1e535556146c9201dea29051e3e (diff)
parent74929e3fb33926cfe29fa607726cbd3fec8abaae (diff)
downloadlibADLMIDI-372f2c17e15e846def959f34f67c61f679ee7bc4.tar.gz
libADLMIDI-372f2c17e15e846def959f34f67c61f679ee7bc4.tar.bz2
libADLMIDI-372f2c17e15e846def959f34f67c61f679ee7bc4.zip
Merge branch 'master' of github.com:Wohlstand/libADLMIDI
Diffstat (limited to 'src/adlmidi_midiplay.cpp')
-rw-r--r--src/adlmidi_midiplay.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/adlmidi_midiplay.cpp b/src/adlmidi_midiplay.cpp
index 7c40fa0..6bc2366 100644
--- a/src/adlmidi_midiplay.cpp
+++ b/src/adlmidi_midiplay.cpp
@@ -1393,7 +1393,7 @@ void MIDIplay::realTime_PatchChange(uint8_t channel, uint8_t patch)
void MIDIplay::realTime_PitchBend(uint8_t channel, uint16_t pitch)
{
channel = channel % 16;
- Ch[channel].bend = (uint32_t(pitch) - 8192) * Ch[channel].bendsense;
+ Ch[channel].bend = (int(pitch) - 8192) * Ch[channel].bendsense;
NoteUpdate_All(channel, Upd_Pitch);
}
@@ -2358,7 +2358,12 @@ 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;
+ 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;