aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJamieson Christian2002-11-30 01:15:48 +0000
committerJamieson Christian2002-11-30 01:15:48 +0000
commit56d16cf920f42a5d6307de4f1cf244917a4499ee (patch)
treeaf392b57d924a7c2e48555187f7f5b0ea41ed193
parentc6672edb58f8459eef3a5423f75ee3580a123e09 (diff)
downloadscummvm-rg350-56d16cf920f42a5d6307de4f1cf244917a4499ee.tar.gz
scummvm-rg350-56d16cf920f42a5d6307de4f1cf244917a4499ee.tar.bz2
scummvm-rg350-56d16cf920f42a5d6307de4f1cf244917a4499ee.zip
Fixed pitch bend AGAIN.
(Broke it in the new MidiChannel_MPU401.) svn-id: r5757
-rw-r--r--sound/mididrv.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/sound/mididrv.cpp b/sound/mididrv.cpp
index c5f486db27..df679c8ea7 100644
--- a/sound/mididrv.cpp
+++ b/sound/mididrv.cpp
@@ -72,7 +72,7 @@ public:
void modulationWheel (byte value) { controlChange (1, value); }
void volume (byte value) { controlChange (7, value); }
void panPosition (byte value) { controlChange (10, value); }
- void pitchBendFactor (byte value) { controlChange (16, value); }
+ void pitchBendFactor (byte value);
void detune (byte value) { controlChange (17, value); }
void priority (byte value) { controlChange (18, value); }
void sustain (bool value) { controlChange (64, value ? 1 : 0); }
@@ -119,6 +119,7 @@ void MidiChannel_MPU401::noteOn (byte note, byte velocity) { _owner->send (veloc
void MidiChannel_MPU401::programChange (byte program) { _owner->send(program << 8 | 0xC0 | _channel); }
void MidiChannel_MPU401::pitchBend (int16 bend) { _owner->send((((bend + 0x2000) >> 7) & 0x7F) << 16 | ((bend + 0x2000) & 0x7F) << 8 | 0xE0 | _channel); }
void MidiChannel_MPU401::controlChange (byte control, byte value) { _owner->send(value << 16 | control << 8 | 0xB0 | _channel); }
+void MidiChannel_MPU401::pitchBendFactor (byte value) { _owner->setPitchBendRange (_channel, value); }
void MidiChannel_MPU401::sysEx_customInstrument (uint32 type, byte *instr) { _owner->sysEx_customInstrument (_channel, type, instr); }