aboutsummaryrefslogtreecommitdiff
path: root/sky/music
diff options
context:
space:
mode:
authorRobert Göffringmann2003-07-09 17:22:45 +0000
committerRobert Göffringmann2003-07-09 17:22:45 +0000
commita8b9b2a1804e7eb7a8283469178cb792c1d1b885 (patch)
treeb424464a233a19e72a9fcb0a4a38a78603e09a6f /sky/music
parentf3a1aa73b33869302d14cc7148957a1270ffdf7a (diff)
downloadscummvm-rg350-a8b9b2a1804e7eb7a8283469178cb792c1d1b885.tar.gz
scummvm-rg350-a8b9b2a1804e7eb7a8283469178cb792c1d1b885.tar.bz2
scummvm-rg350-a8b9b2a1804e7eb7a8283469178cb792c1d1b885.zip
SoundMixer::setMusicVolume() doesn't seem to do anything, so set music volume manually....
svn-id: r8882
Diffstat (limited to 'sky/music')
-rw-r--r--sky/music/adlibmusic.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/sky/music/adlibmusic.cpp b/sky/music/adlibmusic.cpp
index df537e0e6d..6922295ef3 100644
--- a/sky/music/adlibmusic.cpp
+++ b/sky/music/adlibmusic.cpp
@@ -47,7 +47,8 @@ SkyAdlibMusic::~SkyAdlibMusic(void) {
void SkyAdlibMusic::setVolume(uint8 volume) {
_musicVolume = volume;
- _mixer->setMusicVolume(_musicVolume << 1);
+ for (uint8 cnt = 0; cnt < _numberOfChannels; cnt++)
+ _channels[cnt]->updateVolume(volume | 128);
}
void SkyAdlibMusic::premixerCall(int16 *buf, uint len) {
@@ -98,6 +99,7 @@ void SkyAdlibMusic::setupChannels(uint8 *channelData) {
for (uint8 cnt = 0; cnt < _numberOfChannels; cnt++) {
uint16 chDataStart = ((channelData[(cnt << 1) | 1] << 8) | channelData[cnt << 1]) + _musicDataLoc;
_channels[cnt] = new SkyAdlibChannel(_musicData, chDataStart);
+ _channels[cnt]->updateVolume(_musicVolume | 128);
}
}