From 56ad5f493e5ead7915b687d1d25e73adee5ffbff Mon Sep 17 00:00:00 2001 From: Max Horn Date: Sat, 5 Jan 2008 22:57:36 +0000 Subject: Play SOU data instantly, not slightly delayed -> allows us to get rid of Track::streamSou & Track::mixerStreamRunning (have not yet removed the latter to avoid introducing a new savegame version) svn-id: r30268 --- engines/scumm/imuse_digi/dimuse.cpp | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) (limited to 'engines/scumm/imuse_digi/dimuse.cpp') diff --git a/engines/scumm/imuse_digi/dimuse.cpp b/engines/scumm/imuse_digi/dimuse.cpp index 25091e5309..c79cc833ee 100644 --- a/engines/scumm/imuse_digi/dimuse.cpp +++ b/engines/scumm/imuse_digi/dimuse.cpp @@ -39,7 +39,7 @@ namespace Scumm { IMuseDigital::Track::Track() - : soundId(-1), used(false), stream(NULL), streamSou(NULL) { + : soundId(-1), used(false), stream(NULL) { } void IMuseDigital::timer_handler(void *refCon) { @@ -129,7 +129,7 @@ void IMuseDigital::saveOrLoad(Serializer *ser) { MKLINE(Track, used, sleByte, VER(31)), MKLINE(Track, toBeRemoved, sleByte, VER(31)), MKLINE(Track, souStreamUsed, sleByte, VER(31)), - MKLINE(Track, mixerStreamRunning, sleByte, VER(31)), + MKLINE(Track, mixerStreamRunning, sleByte, VER(31)), // FIXME: OBSOLETE, remove this! MKLINE(Track, soundPriority, sleInt32, VER(31)), MKLINE(Track, regionOffset, sleInt32, VER(31)), MK_OBSOLETE(Track, trackOffset, sleInt32, VER(31), VER(31)), @@ -336,16 +336,8 @@ void IMuseDigital::callback() { } while (feedSize != 0); } else { if (_mixer->isReady()) { - // FIXME: Can't we replace track->mixerStreamRunning by - // _mixer->isSoundHandleActive(track->mixChanHandle) ? - if (!track->mixerStreamRunning) { - track->mixerStreamRunning = true; - assert(track->streamSou); - _mixer->playInputStream(track->getType(), &track->mixChanHandle, track->streamSou, -1, track->getVol(), track->getPan()); - } else { - _mixer->setChannelVolume(track->mixChanHandle, track->getVol()); - _mixer->setChannelBalance(track->mixChanHandle, track->getPan()); - } + _mixer->setChannelVolume(track->mixChanHandle, track->getVol()); + _mixer->setChannelBalance(track->mixChanHandle, track->getPan()); } } } -- cgit v1.2.3