aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/sound_towns.cpp
diff options
context:
space:
mode:
authorFlorian Kagerer2010-08-08 17:34:32 +0000
committerFlorian Kagerer2010-08-08 17:34:32 +0000
commit054c586bcc74de047536b5d4f2fdc4540dce24f3 (patch)
treea2bfb0a774ac125ad40985fafee0b7fb2ea8d95e /engines/kyra/sound_towns.cpp
parent27c79d51d43b95c72b80c8aa5ccc70a2d29a34b0 (diff)
downloadscummvm-rg350-054c586bcc74de047536b5d4f2fdc4540dce24f3.tar.gz
scummvm-rg350-054c586bcc74de047536b5d4f2fdc4540dce24f3.tar.bz2
scummvm-rg350-054c586bcc74de047536b5d4f2fdc4540dce24f3.zip
KYRA/TOWNS: some minor sound improvements
(some cleanup to internal driver volume control, minor frequency change for fm-towns) svn-id: r51930
Diffstat (limited to 'engines/kyra/sound_towns.cpp')
-rw-r--r--engines/kyra/sound_towns.cpp20
1 files changed, 11 insertions, 9 deletions
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++)