diff options
author | Walter van Niftrik | 2015-05-29 00:17:50 -0400 |
---|---|---|
committer | Matthew Hoops | 2015-07-07 20:19:45 -0400 |
commit | f7c785b37b5fb00029ebb04362f8a733f556e3dd (patch) | |
tree | 91199d4716e2fd11dfc84592884bad1dea16d01f /engines/sky/music/adlibmusic.cpp | |
parent | 22d985f3c265162419ab8c65dd47b48ac385f463 (diff) | |
download | scummvm-rg350-f7c785b37b5fb00029ebb04362f8a733f556e3dd.tar.gz scummvm-rg350-f7c785b37b5fb00029ebb04362f8a733f556e3dd.tar.bz2 scummvm-rg350-f7c785b37b5fb00029ebb04362f8a733f556e3dd.zip |
SKY: Implement original music volume handling
Diffstat (limited to 'engines/sky/music/adlibmusic.cpp')
-rw-r--r-- | engines/sky/music/adlibmusic.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/engines/sky/music/adlibmusic.cpp b/engines/sky/music/adlibmusic.cpp index c13d6150ec..3607dfbd13 100644 --- a/engines/sky/music/adlibmusic.cpp +++ b/engines/sky/music/adlibmusic.cpp @@ -40,7 +40,7 @@ AdLibMusic::AdLibMusic(Audio::Mixer *pMixer, Disk *pDisk) : MusicBase(pMixer, pD error("Failed to create OPL"); _opl->start(new Common::Functor0Mem<void, AdLibMusic>(this, &AdLibMusic::onTimer), 50); - _mixer->playStream(Audio::Mixer::kMusicSoundType, &_soundHandle, this, -1, Audio::Mixer::kMaxChannelVolume, 0, DisposeAfterUse::NO, true); + _mixer->playStream(Audio::Mixer::kPlainSoundType, &_soundHandle, this, -1, Audio::Mixer::kMaxChannelVolume, 0, DisposeAfterUse::NO, true); } AdLibMusic::~AdLibMusic() { @@ -93,8 +93,8 @@ void AdLibMusic::startDriver() { void AdLibMusic::setVolume(uint16 param) { _musicVolume = param; - // FIXME: This is bad. There's no real volume control here. - _mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, 2 * param); + for (uint8 cnt = 0; cnt < _numberOfChannels; cnt++) + _channels[cnt]->updateVolume(_musicVolume); } bool AdLibMusic::isStereo() const { |