[Scummvm-cvs-logs] scummvm master -> c0a35b3b00528964c759282f853e60eba87c0bc6
bluegr
bluegr at gmail.com
Mon Jan 6 06:41:06 CET 2014
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
c0a35b3b00 FULLPIPE: Initial implementation of scene music tracks
Commit: c0a35b3b00528964c759282f853e60eba87c0bc6
https://github.com/scummvm/scummvm/commit/c0a35b3b00528964c759282f853e60eba87c0bc6
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2014-01-05T21:40:25-08:00
Commit Message:
FULLPIPE: Initial implementation of scene music tracks
Changed paths:
engines/fullpipe/fullpipe.h
engines/fullpipe/sound.cpp
diff --git a/engines/fullpipe/fullpipe.h b/engines/fullpipe/fullpipe.h
index 0f3e057..7c7ac05 100644
--- a/engines/fullpipe/fullpipe.h
+++ b/engines/fullpipe/fullpipe.h
@@ -273,6 +273,8 @@ public:
void lift_startExitQueue();
void lift_sub05(ExCommand *ex);
+ GameVar *_musicGameVar;
+ Audio::SoundHandle _sceneTrackHandle;
public:
bool _isSaveAllowed;
diff --git a/engines/fullpipe/sound.cpp b/engines/fullpipe/sound.cpp
index 8c6b01f..da9e7e3 100644
--- a/engines/fullpipe/sound.cpp
+++ b/engines/fullpipe/sound.cpp
@@ -28,6 +28,7 @@
#include "fullpipe/ngiarchive.h"
#include "common/memstream.h"
#include "audio/audiostream.h"
+#include "audio/decoders/vorbis.h"
#include "audio/decoders/wave.h"
namespace Fullpipe {
@@ -117,10 +118,31 @@ void Sound::setPanAndVolumeByStaticAni() {
void FullpipeEngine::setSceneMusicParameters(GameVar *var) {
warning("STUB: FullpipeEngine::setSceneMusicParameters()");
+ // TODO: Finish this (MINDELAY, MAXDELAY, LOCAL, SEQUENCE, STARTDELAY etc)
+ stopAllSoundStreams();
+ _musicGameVar = var;
}
void FullpipeEngine::startSceneTrack() {
- debug(3, "STUB: FullpipeEngine::startSceneTrack()");
+ // TODO: Finish this
+#ifdef USE_VORBIS
+ if (g_fp->_mixer->isSoundHandleActive(_sceneTrackHandle))
+ return;
+
+ GameVar *musicTrackVar = _musicGameVar->getSubVarByName("MUSIC")->getSubVarByName("TRACKS")->_subVars;
+ if (!musicTrackVar)
+ return;
+
+ char *trackName = musicTrackVar->_varName;
+ Common::File *track = new Common::File();
+ if (!track->open(trackName)) {
+ warning("Could not open %s", trackName);
+ delete track;
+ return;
+ }
+ Audio::RewindableAudioStream *ogg = Audio::makeVorbisStream(track, DisposeAfterUse::YES);
+ g_fp->_mixer->playStream(Audio::Mixer::kMusicSoundType, &_sceneTrackHandle, ogg);
+#endif
}
void FullpipeEngine::stopAllSounds() {
More information about the Scummvm-git-logs
mailing list