RCS file: /cvsroot/scummvm/scummvm/scumm/imuse.cpp,v
retrieving revision 2.97
diff -u -r2.97 imuse.cpp
|
|
|
43 | 43 | |
44 | 44 | IMuseInternal::IMuseInternal() : |
45 | 45 | _old_adlib_instruments(false), |
| 46 | _native_mt32(false), |
46 | 47 | _enable_multi_midi(false), |
47 | 48 | _midi_adlib(0), |
48 | 49 | _midi_native(0), |
… |
… |
|
1085 | 1086 | break; |
1086 | 1087 | |
1087 | 1088 | case IMuse::PROP_NATIVE_MT32: |
| 1089 | _native_mt32 = (value > 0); |
1088 | 1090 | Instrument::nativeMT32(value > 0); |
1089 | 1091 | break; |
1090 | 1092 | |
… |
… |
|
1500 | 1502 | return; |
1501 | 1503 | set_pitchbend(0); |
1502 | 1504 | _pitchbend_factor = value; |
1503 | | if (_mc) |
1504 | | _mc->pitchBendFactor(_pitchbend_factor); |
| 1505 | if (_mc) { |
| 1506 | if (!_player->_se->isNativeMT32()) { |
| 1507 | _mc->pitchBendFactor(_pitchbend_factor); |
| 1508 | } else if (_mc->getNumber() < 8) { |
| 1509 | byte buffer[] = { 0x41, 0x00, 0x16, 0x12, 0x03, 0x00, 0x04, 0x00, 0x00 }; |
| 1510 | buffer[1] = _mc->getNumber(); |
| 1511 | buffer[7] = value; |
| 1512 | buffer[8] = (0 - buffer[4] - buffer[5] - buffer[6] - buffer[7]) & 0x3F; |
| 1513 | _mc->device()->sysEx(buffer, 9); |
| 1514 | } |
| 1515 | } |
1505 | 1516 | } |
1506 | 1517 | |
1507 | 1518 | void Part::set_onoff(bool on) { |
RCS file: /cvsroot/scummvm/scummvm/scumm/imuse_internal.h,v
retrieving revision 2.23
diff -u -r2.23 imuse_internal.h
|
|
|
350 | 350 | |
351 | 351 | protected: |
352 | 352 | bool _old_adlib_instruments; |
| 353 | bool _native_mt32; |
353 | 354 | bool _enable_multi_midi; |
354 | 355 | MidiDriver *_midi_adlib; |
355 | 356 | MidiDriver *_midi_native; |
… |
… |
|
445 | 446 | void reallocateMidiChannels(MidiDriver *midi); |
446 | 447 | void setGlobalAdlibInstrument(byte slot, byte *data); |
447 | 448 | void copyGlobalAdlibInstrument(byte slot, Instrument *dest); |
| 449 | bool isNativeMT32() { return _native_mt32; } |
448 | 450 | |
449 | 451 | // IMuse interface |
450 | 452 | |