From 054c586bcc74de047536b5d4f2fdc4540dce24f3 Mon Sep 17 00:00:00 2001 From: Florian Kagerer Date: Sun, 8 Aug 2010 17:34:32 +0000 Subject: KYRA/TOWNS: some minor sound improvements (some cleanup to internal driver volume control, minor frequency change for fm-towns) svn-id: r51930 --- engines/kyra/sound_towns.cpp | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'engines/kyra/sound_towns.cpp') diff --git a/engines/kyra/sound_towns.cpp b/engines/kyra/sound_towns.cpp index 95e2a5e63f..750c6edfc2 100644 --- a/engines/kyra/sound_towns.cpp +++ b/engines/kyra/sound_towns.cpp @@ -66,7 +66,9 @@ bool SoundTowns::init() { if (!loadInstruments()) return false; - _driver->cdaSetVolume(1, 118, 118); + _driver->intf()->callback(68); + _driver->intf()->callback(70, 0x33); + _driver->setOutputVolume(1, 118, 118); return true; } @@ -92,7 +94,7 @@ void SoundTowns::playTrack(uint8 track) { beginFadeOut(); if (_musicEnabled == 2 && trackNum != -1) { - _driver->cdaSetVolume(1, 118, 118); + _driver->setOutputVolume(1, 118, 118); AudioCD.play(trackNum+1, loop ? -1 : 1, 0, 0); AudioCD.updateCD(); _cdaPlaying = true; @@ -230,24 +232,24 @@ void SoundTowns::stopAllSoundEffects() { void SoundTowns::beginFadeOut() { if (_cdaPlaying) { for (int i = 118; i > 103; i--) { - _driver->cdaSetVolume(1, i, i); + _driver->setOutputVolume(1, i, i); _vm->delay(2 * _vm->tickLength()); } for (int i = 103; i > 83; i -= 2) { - _driver->cdaSetVolume(1, i, i); + _driver->setOutputVolume(1, i, i); _vm->delay(2 * _vm->tickLength()); } for (int i = 83; i > 58; i -= 2) { - _driver->cdaSetVolume(1, i, i); + _driver->setOutputVolume(1, i, i); _vm->delay(_vm->tickLength()); } for (int i = 58; i > 0; i--) - _driver->cdaSetVolume(1, i, i); + _driver->setOutputVolume(1, i, i); - _driver->cdaSetVolume(1, 0, 0); + _driver->setOutputVolume(1, 0, 0); } else { if (_lastTrack == -1) @@ -336,9 +338,9 @@ void SoundTowns::playEuphonyTrack(uint32 offset, int loop) { for (int i = 0; i < 32; i++) _driver->chanOrdr(i, *src++); for (int i = 0; i < 32; i++) - _driver->chanLevel(i, *src++); + _driver->chanVolumeShift(i, *src++); for (int i = 0; i < 32; i++) - _driver->chanTranspose(i, *src++); + _driver->chanNoteShift(i, *src++); src = _musicTrackData + 1748; for (int i = 0; i < 6; i++) -- cgit v1.2.3