[Scummvm-cvs-logs] SF.net SVN: scummvm: [26253] scummvm/trunk/engines/scumm/imuse_digi
fingolfin at users.sourceforge.net
fingolfin at users.sourceforge.net
Tue Mar 20 19:45:54 CET 2007
Revision: 26253
http://scummvm.svn.sourceforge.net/scummvm/?rev=26253&view=rev
Author: fingolfin
Date: 2007-03-20 11:45:54 -0700 (Tue, 20 Mar 2007)
Log Message:
-----------
cleanup
Modified Paths:
--------------
scummvm/trunk/engines/scumm/imuse_digi/dimuse.h
scummvm/trunk/engines/scumm/imuse_digi/dimuse_music.cpp
scummvm/trunk/engines/scumm/imuse_digi/dimuse_track.cpp
Modified: scummvm/trunk/engines/scumm/imuse_digi/dimuse.h
===================================================================
--- scummvm/trunk/engines/scumm/imuse_digi/dimuse.h 2007-03-20 14:51:57 UTC (rev 26252)
+++ scummvm/trunk/engines/scumm/imuse_digi/dimuse.h 2007-03-20 18:45:54 UTC (rev 26253)
@@ -134,7 +134,7 @@
int getSoundIdByName(const char *soundName);
void fadeOutMusic(int fadeDelay);
- Track *cloneToFadeOutTrack(Track *track, int fadeDelay);
+ Track *cloneToFadeOutTrack(const Track *track, int fadeDelay);
void setFtMusicState(int stateId);
void setFtMusicSequence(int seqId);
@@ -212,7 +212,7 @@
char name[20];
byte atribPos;
byte hookId;
- int16 fadeOut60TicksDelay;
+ int16 fadeOutDelay;
char filename[13];
};
Modified: scummvm/trunk/engines/scumm/imuse_digi/dimuse_music.cpp
===================================================================
--- scummvm/trunk/engines/scumm/imuse_digi/dimuse_music.cpp 2007-03-20 14:51:57 UTC (rev 26252)
+++ scummvm/trunk/engines/scumm/imuse_digi/dimuse_music.cpp 2007-03-20 18:45:54 UTC (rev 26253)
@@ -314,7 +314,7 @@
fadeOutMusic(60);
return;
}
- fadeOutMusic(table->fadeOut60TicksDelay);
+ fadeOutMusic(table->fadeOutDelay);
startMusic(table->filename, table->soundId, table->hookId, 127);
break;
case 3:
@@ -324,7 +324,7 @@
fadeOutMusic(60);
return;
}
- fadeOutMusic(table->fadeOut60TicksDelay);
+ fadeOutMusic(table->fadeOutDelay);
if ((!sequence) && (table->atribPos != 0) &&
(table->atribPos == _comiStateMusicTable[_curMusicState].atribPos)) {
startMusic(table->filename, table->soundId, 0, 127);
Modified: scummvm/trunk/engines/scumm/imuse_digi/dimuse_track.cpp
===================================================================
--- scummvm/trunk/engines/scumm/imuse_digi/dimuse_track.cpp 2007-03-20 14:51:57 UTC (rev 26252)
+++ scummvm/trunk/engines/scumm/imuse_digi/dimuse_track.cpp 2007-03-20 18:45:54 UTC (rev 26253)
@@ -305,12 +305,12 @@
}
}
-IMuseDigital::Track *IMuseDigital::cloneToFadeOutTrack(Track *track, int fadeDelay) {
+IMuseDigital::Track *IMuseDigital::cloneToFadeOutTrack(const Track *track, int fadeDelay) {
Common::StackLock lock(_mutex, "IMuseDigital::cloneToFadeOutTrack()");
assert(track);
Track *fadeTrack = 0;
- debug(5, "IMuseDigital::cloneToFadeOutTrack(%d, %d)", track->trackId, fadeDelay);
+ debug(0, "IMuseDigital::cloneToFadeOutTrack(%d, %d)", track->trackId, fadeDelay);
if (_track[track->trackId + MAX_DIGITAL_TRACKS]->used) {
warning("IMuseDigital::cloneToFadeOutTrack: Not free fade track");
@@ -318,45 +318,40 @@
}
fadeTrack = _track[track->trackId + MAX_DIGITAL_TRACKS];
- fadeTrack->pan = track->pan;
- fadeTrack->vol = track->vol;
- fadeTrack->volGroupId = track->volGroupId;
- fadeTrack->priority = track->priority;
- fadeTrack->soundId = track->soundId;
- fadeTrack->dataOffset = track->dataOffset;
- fadeTrack->regionOffset = track->regionOffset;
- fadeTrack->curRegion = track->curRegion;
- fadeTrack->curHookId = track->curHookId;
- fadeTrack->iteration = track->iteration;
- fadeTrack->flags = track->flags;
- fadeTrack->mod = track->mod;
- fadeTrack->toBeRemoved = track->toBeRemoved;
- fadeTrack->readyToRemove = track->readyToRemove;
- fadeTrack->souStream = track->souStream;
- fadeTrack->started = track->started;
- fadeTrack->stream2 = track->stream2;
- strcpy(fadeTrack->soundName, track->soundName);
- fadeTrack->soundType = track->soundType;
+
+ // Clone the settings of the given track
+ memcpy(fadeTrack, track, sizeof(Track));
+
+ // Clone the soundhandle
fadeTrack->soundHandle = _sound->cloneSound(track->soundHandle);
assert(fadeTrack->soundHandle);
+ // Set the volume fading parameters to indicate a fade out
fadeTrack->volFadeDelay = fadeDelay;
fadeTrack->volFadeDest = 0;
fadeTrack->volFadeStep = (fadeTrack->volFadeDest - fadeTrack->vol) * 60 * (1000 / _callbackFps) / (1000 * fadeDelay);
fadeTrack->volFadeUsed = true;
- Audio::Mixer::SoundType type = Audio::Mixer::kPlainSoundType;
-
- if (fadeTrack->volGroupId == 1)
+ // Create an appendable output buffer
+ Audio::Mixer::SoundType type;
+ switch (fadeTrack->volGroupId) {
+ case 1:
type = Audio::Mixer::kSpeechSoundType;
- if (fadeTrack->volGroupId == 2)
+ break;
+ case 2:
type = Audio::Mixer::kSFXSoundType;
- if (fadeTrack->volGroupId == 3)
+ break;
+ case 3:
type = Audio::Mixer::kMusicSoundType;
-
- // setup 1 second stream wrapped buffer
+ break;
+ default:
+ type = Audio::Mixer::kPlainSoundType;
+ break;
+ }
fadeTrack->stream = Audio::makeAppendableAudioStream(_sound->getFreq(fadeTrack->soundHandle), makeMixerFlags(fadeTrack->flags));
_mixer->playInputStream(type, &fadeTrack->handle, fadeTrack->stream, -1, fadeTrack->vol / 1000, fadeTrack->pan, false);
+
+ // Mark the track as, uhh, used & started (surprise, surprise :)
fadeTrack->started = true;
fadeTrack->used = true;
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