[Scummvm-cvs-logs] SF.net SVN: scummvm: [30490] scummvm/trunk/engines/scumm/imuse_digi/ dimuse_track.cpp

aquadran at users.sourceforge.net aquadran at users.sourceforge.net
Tue Jan 15 01:37:37 CET 2008


Revision: 30490
          http://scummvm.svn.sourceforge.net/scummvm/?rev=30490&view=rev
Author:   aquadran
Date:     2008-01-14 16:37:37 -0800 (Mon, 14 Jan 2008)

Log Message:
-----------
if track sound data is compressed reset data offset to beginning of region. we need implement seek in stream anyway or drop support

Modified Paths:
--------------
    scummvm/trunk/engines/scumm/imuse_digi/dimuse_track.cpp

Modified: scummvm/trunk/engines/scumm/imuse_digi/dimuse_track.cpp
===================================================================
--- scummvm/trunk/engines/scumm/imuse_digi/dimuse_track.cpp	2008-01-14 23:41:42 UTC (rev 30489)
+++ scummvm/trunk/engines/scumm/imuse_digi/dimuse_track.cpp	2008-01-15 00:37:37 UTC (rev 30490)
@@ -155,9 +155,15 @@
 
 		if (otherTrack && otherTrack->used && !otherTrack->toBeRemoved) {
 			track->curRegion = otherTrack->curRegion;
-			track->regionOffset = otherTrack->regionOffset;
-			track->dataOffset = otherTrack->dataOffset;
-			track->dataMod12Bit = otherTrack->dataMod12Bit;
+			if (track->sndDataExtComp) {
+				track->dataOffset = _sound->getRegionOffset(track->soundDesc, track->curRegion);
+				track->regionOffset = 0;
+				track->dataMod12Bit = 0;
+			} else {
+				track->dataOffset = otherTrack->dataOffset;
+				track->regionOffset = otherTrack->regionOffset;
+				track->dataMod12Bit = otherTrack->dataMod12Bit;
+			}
 		}
 
 		track->stream = Audio::makeAppendableAudioStream(freq, makeMixerFlags(track->mixerFlags));
@@ -282,7 +288,7 @@
 		Track *track = _track[l];
 		if (track->used && !track->toBeRemoved && (track->volGroupId == IMUSE_VOLGRP_MUSIC)) {
 			startMusicWithOtherPos(filename, soundId, 0, 127, track);
-			cloneToFadeOutTrack(track, fadeDelay);
+			Track *fadeTrack = cloneToFadeOutTrack(track, fadeDelay);
 			flushTrack(track);
 			break;
 		}
@@ -296,7 +302,7 @@
 	for (int l = 0; l < MAX_DIGITAL_TRACKS; l++) {
 		Track *track = _track[l];
 		if (track->used && !track->toBeRemoved && (track->volGroupId == IMUSE_VOLGRP_MUSIC)) {
-			cloneToFadeOutTrack(track, fadeDelay);
+			Track *fadeTrack = cloneToFadeOutTrack(track, fadeDelay);
 			flushTrack(track);
 			break;
 		}
@@ -342,7 +348,7 @@
 	fadeTrack->trackId = track->trackId + MAX_DIGITAL_TRACKS;
 
 	// Clone the sound.
-	// leaving bug number for now #1635361
+	// leaving bug number for now #1635361, we need implement seek in compressed stream
 	fadeTrack->soundDesc = soundDesc;
 
 	// Set the volume fading parameters to indicate a fade out


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list