aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/imuse_digi/dimuse.cpp
diff options
context:
space:
mode:
authorMax Horn2008-01-05 22:44:39 +0000
committerMax Horn2008-01-05 22:44:39 +0000
commitf68d84b54f3bd1857ec57940a8b792a66168c484 (patch)
treecbad84e5485c294649a3515c12a7352c0dcbe0b0 /engines/scumm/imuse_digi/dimuse.cpp
parent923ad313dc1e85ff3e2169f08abe0b2e016896c2 (diff)
downloadscummvm-rg350-f68d84b54f3bd1857ec57940a8b792a66168c484.tar.gz
scummvm-rg350-f68d84b54f3bd1857ec57940a8b792a66168c484.tar.bz2
scummvm-rg350-f68d84b54f3bd1857ec57940a8b792a66168c484.zip
Moved some code which was being duplicated to methods of class Track
svn-id: r30266
Diffstat (limited to 'engines/scumm/imuse_digi/dimuse.cpp')
-rw-r--r--engines/scumm/imuse_digi/dimuse.cpp34
1 files changed, 6 insertions, 28 deletions
diff --git a/engines/scumm/imuse_digi/dimuse.cpp b/engines/scumm/imuse_digi/dimuse.cpp
index 9c28a67d41..25091e5309 100644
--- a/engines/scumm/imuse_digi/dimuse.cpp
+++ b/engines/scumm/imuse_digi/dimuse.cpp
@@ -206,18 +206,7 @@ void IMuseDigital::saveOrLoad(Serializer *ser) {
track->stream = Audio::makeAppendableAudioStream(freq, makeMixerFlags(track->mixerFlags));
- const int pan = (track->pan != 64) ? 2 * track->pan - 127 : 0;
- const int vol = track->vol / 1000;
- Audio::Mixer::SoundType type = Audio::Mixer::kPlainSoundType;
-
- if (track->volGroupId == 1)
- type = Audio::Mixer::kSpeechSoundType;
- if (track->volGroupId == 2)
- type = Audio::Mixer::kSFXSoundType;
- if (track->volGroupId == 3)
- type = Audio::Mixer::kMusicSoundType;
-
- _mixer->playInputStream(type, &track->mixChanHandle, track->stream, -1, vol, pan, false);
+ _mixer->playInputStream(track->getType(), &track->mixChanHandle, track->stream, -1, track->getVol(), track->getPan(), false);
_mixer->pauseHandle(track->mixChanHandle, true);
}
}
@@ -264,17 +253,6 @@ void IMuseDigital::callback() {
debug(5, "Fade: sound(%d), Vol(%d)", track->soundId, track->vol / 1000);
}
- const int pan = (track->pan != 64) ? 2 * track->pan - 127 : 0;
- const int vol = track->vol / 1000;
- Audio::Mixer::SoundType type = Audio::Mixer::kPlainSoundType;
-
- if (track->volGroupId == 1)
- type = Audio::Mixer::kSpeechSoundType;
- if (track->volGroupId == 2)
- type = Audio::Mixer::kSFXSoundType;
- if (track->volGroupId == 3)
- type = Audio::Mixer::kMusicSoundType;
-
if (!track->souStreamUsed) {
assert(track->stream);
byte *tmpSndBufferPtr = NULL;
@@ -341,8 +319,8 @@ void IMuseDigital::callback() {
curFeedSize = feedSize;
if (_mixer->isReady()) {
- _mixer->setChannelVolume(track->mixChanHandle, vol);
- _mixer->setChannelBalance(track->mixChanHandle, pan);
+ _mixer->setChannelVolume(track->mixChanHandle, track->getVol());
+ _mixer->setChannelBalance(track->mixChanHandle, track->getPan());
track->stream->queueBuffer(tmpSndBufferPtr, curFeedSize);
track->regionOffset += curFeedSize;
} else
@@ -363,10 +341,10 @@ void IMuseDigital::callback() {
if (!track->mixerStreamRunning) {
track->mixerStreamRunning = true;
assert(track->streamSou);
- _mixer->playInputStream(type, &track->mixChanHandle, track->streamSou, -1, vol, pan);
+ _mixer->playInputStream(track->getType(), &track->mixChanHandle, track->streamSou, -1, track->getVol(), track->getPan());
} else {
- _mixer->setChannelVolume(track->mixChanHandle, vol);
- _mixer->setChannelBalance(track->mixChanHandle, pan);
+ _mixer->setChannelVolume(track->mixChanHandle, track->getVol());
+ _mixer->setChannelBalance(track->mixChanHandle, track->getPan());
}
}
}