[Scummvm-cvs-logs] SF.net SVN: scummvm: [26473] scummvm/trunk/engines/saga
fingolfin at users.sourceforge.net
fingolfin at users.sourceforge.net
Sat Apr 14 19:35:29 CEST 2007
Revision: 26473
http://scummvm.svn.sourceforge.net/scummvm/?rev=26473&view=rev
Author: fingolfin
Date: 2007-04-14 10:35:28 -0700 (Sat, 14 Apr 2007)
Log Message:
-----------
Replaced the use of DigitalTrackInfo objects (which were being leaked, BTW) with a call to openStreamFile (code completely *untested*, so it might not work properly yet). Note the new FIXME comment regarding the playback duration
Modified Paths:
--------------
scummvm/trunk/engines/saga/music.cpp
scummvm/trunk/engines/saga/music.h
Modified: scummvm/trunk/engines/saga/music.cpp
===================================================================
--- scummvm/trunk/engines/saga/music.cpp 2007-04-14 17:24:08 UTC (rev 26472)
+++ scummvm/trunk/engines/saga/music.cpp 2007-04-14 17:35:28 UTC (rev 26473)
@@ -307,8 +307,6 @@
_songTableLen = 0;
_songTable = 0;
- _track = NULL;
-
_midiMusicData = NULL;
}
@@ -411,13 +409,17 @@
}
// Try to open standalone digital track
- for (int i = 0; i < ARRAYSIZE(TRACK_FORMATS) - 1; ++i)
- if ((_track = TRACK_FORMATS[i].openTrackFunction(realTrackNumber))) {
- break;
+ char trackName[2][16];
+ sprintf(trackName[0], "track%d", realTrackNumber);
+ sprintf(trackName[1], "track%02d", realTrackNumber);
+ Audio::AudioStream *stream = 0;
+ for (int i = 0; i < 2; ++i) {
+ // FIXME: Do we really want a duration of 10000 frames = 133 seconds, or is that just a random value?
+ stream = Audio::AudioStream::openStreamFile(trackName[i], 0, 10000, (flags == MUSIC_LOOP) ? 0 : 1);
+ if (stream) {
+ _mixer->playInputStream(Audio::Mixer::kMusicSoundType, &_musicHandle, stream);
+ return;
}
- if (_track) {
- _track->play(_mixer, &_musicHandle, (flags == MUSIC_LOOP) ? -1 : 1, 0, 10000);
- return;
}
if (_vm->getGameType() == GType_ITE) {
Modified: scummvm/trunk/engines/saga/music.h
===================================================================
--- scummvm/trunk/engines/saga/music.h 2007-04-14 17:24:08 UTC (rev 26472)
+++ scummvm/trunk/engines/saga/music.h 2007-04-14 17:35:28 UTC (rev 26473)
@@ -137,8 +137,6 @@
MidiParser *xmidiParser;
MidiParser *smfParser;
- Audio::DigitalTrackInfo *_track;
-
byte *_midiMusicData;
static void musicVolumeGaugeCallback(void *refCon);
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