aboutsummaryrefslogtreecommitdiff
path: root/sound/softsynth
diff options
context:
space:
mode:
authorFlorian Kagerer2010-08-03 18:19:25 +0000
committerFlorian Kagerer2010-08-03 18:19:25 +0000
commit3fc3a59139b52828fa06f8f3e22f068c004fd469 (patch)
tree8c5a493b22c92283a9b22c79d983f8babf55291d /sound/softsynth
parent3d228f270f380d5b74becfb3e3598d0ef1ed5c8c (diff)
downloadscummvm-rg350-3fc3a59139b52828fa06f8f3e22f068c004fd469.tar.gz
scummvm-rg350-3fc3a59139b52828fa06f8f3e22f068c004fd469.tar.bz2
scummvm-rg350-3fc3a59139b52828fa06f8f3e22f068c004fd469.zip
KYRA/TOWNS: replace some music stops with fadeouts (based on original code)
svn-id: r51708
Diffstat (limited to 'sound/softsynth')
-rw-r--r--sound/softsynth/fmtowns_pc98/towns_audio.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/sound/softsynth/fmtowns_pc98/towns_audio.cpp b/sound/softsynth/fmtowns_pc98/towns_audio.cpp
index 683f574f65..ea5797baec 100644
--- a/sound/softsynth/fmtowns_pc98/towns_audio.cpp
+++ b/sound/softsynth/fmtowns_pc98/towns_audio.cpp
@@ -101,8 +101,8 @@ private:
TownsAudioInterface::TownsAudioInterface(Audio::Mixer *mixer, TownsAudioInterfacePluginDriver *driver) : TownsPC98_FmSynth(mixer, kTypeTowns),
_fmInstruments(0), _pcmInstruments(0), _pcmChan(0), _waveTables(0), _waveTablesTotalDataSize(0),
- _baserate(55125.0f / (float)mixer->getOutputRate()), _tickLength(0), _timer(0), _drv(driver),
- _musicVolume(256), _sfxVolume(256), _pcmSfxChanMask(0), _ready(false) {
+ _baserate(55125.0f / (float)mixer->getOutputRate()), _tickLength(0), _timer(0), _drv(driver), _pcmSfxChanMask(0),
+ _musicVolume(Audio::Mixer::kMaxMixerVolume), _sfxVolume(Audio::Mixer::kMaxMixerVolume), _ready(false) {
#define INTCB(x) &TownsAudioInterface::intf_##x
static const TownsAudioIntfCallback intfCb[] = {
@@ -257,6 +257,9 @@ bool TownsAudioInterface::init() {
}
int TownsAudioInterface::callback(int command, ...) {
+ if (!_ready)
+ return 1;
+
va_list args;
va_start(args, command);