diff options
author | Eugene Sandulenko | 2004-10-22 23:44:08 +0000 |
---|---|---|
committer | Eugene Sandulenko | 2004-10-22 23:44:08 +0000 |
commit | 2c76a8e024565f8e35745f5b15ff1e63b8963805 (patch) | |
tree | b86db26ea4aa14f8f3ed0c7c4e69b57c7a4f80ec /queen/music.cpp | |
parent | c8495dbf23b88cd5a1bcfc8aea7d2ba37096bd90 (diff) | |
download | scummvm-rg350-2c76a8e024565f8e35745f5b15ff1e63b8963805.tar.gz scummvm-rg350-2c76a8e024565f8e35745f5b15ff1e63b8963805.tar.bz2 scummvm-rg350-2c76a8e024565f8e35745f5b15ff1e63b8963805.zip |
Support MT-32 emu.
svn-id: r15657
Diffstat (limited to 'queen/music.cpp')
-rw-r--r-- | queen/music.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/queen/music.cpp b/queen/music.cpp index a265cca85e..98054a33d6 100644 --- a/queen/music.cpp +++ b/queen/music.cpp @@ -42,7 +42,7 @@ static const byte mt32_to_gm[128] = { 47, 117, 127, 118, 118, 116, 115, 119, 115, 112, 55, 124, 123, 0, 14, 117 // 7x }; - MusicPlayer::MusicPlayer(MidiDriver *driver, byte *data, uint32 size) : _driver(driver), _isPlaying(false), _looping(false), _randomLoop(false), _masterVolume(192), _queuePos(0), _musicData(data), _musicDataSize(size) { + MusicPlayer::MusicPlayer(MidiDriver *driver, byte *data, uint32 size) : _driver(driver), _isPlaying(false), _looping(false), _randomLoop(false), _masterVolume(192), _queuePos(0), _musicData(data), _musicDataSize(size), _passThrough(false) { memset(_channel, 0, sizeof(_channel)); queueClear(); _lastSong = _currentSong = 0; @@ -123,6 +123,11 @@ static const byte mt32_to_gm[128] = { } void MusicPlayer::send(uint32 b) { + if (_passThrough) { + _driver->send(b); + return; + } + byte channel = (byte)(b & 0x0F); if ((b & 0xFFF0) == 0x07B0) { // Adjust volume changes by master volume |