[Scummvm-cvs-logs] SF.net SVN: scummvm: [21236] scummvm/trunk/engines/kyra

lordhoto at users.sourceforge.net lordhoto at users.sourceforge.net
Sun Mar 12 07:40:00 CET 2006


Revision: 21236
Author:   lordhoto
Date:     2006-03-12 07:38:59 -0800 (Sun, 12 Mar 2006)
ViewCVS:  http://svn.sourceforge.net/scummvm/?rev=21236&view=rev

Log Message:
-----------
Fixes non looping tracks and a fading bug, which silenced the music, with mt-32.

Modified Paths:
--------------
    scummvm/trunk/engines/kyra/sound.cpp
    scummvm/trunk/engines/kyra/sound.h
Modified: scummvm/trunk/engines/kyra/sound.cpp
===================================================================
--- scummvm/trunk/engines/kyra/sound.cpp	2006-03-12 14:31:40 UTC (rev 21235)
+++ scummvm/trunk/engines/kyra/sound.cpp	2006-03-12 15:38:59 UTC (rev 21236)
@@ -250,7 +250,7 @@
 	_parser->setTrack(0);
 	_parser->setMidiDriver(this);
 	_parser->setTimerRate(getBaseTempo());
-	_parser->property(MidiParser::mpAutoLoop, false);
+	_parser->property(MidiParser::mpAutoLoop, true);
 }
 
 void SoundMidiPC::loadSoundEffectFile(const char *file) {
@@ -323,7 +323,7 @@
 	if (music->_fadeMusicOut && music->_fadeStartTime + musicFadeTime > music->_engine->_system->getMillis()) {
 		byte volume = (byte)((musicFadeTime - (music->_engine->_system->getMillis() - music->_fadeStartTime)) * 255 / musicFadeTime);
 		music->setVolume(volume);
-	} else if(music->_fadeStartTime) {
+	} else if (music->_fadeStartTime) {
 		music->setVolume(255);
 		music->_fadeStartTime = 0;
 		music->_fadeMusicOut = false;
@@ -359,12 +359,27 @@
 void SoundMidiPC::playTrack(uint8 track) {
 	if (_parser) {
 		_isPlaying = true;
+		_fadeMusicOut = false;
+		_fadeStartTime = 0;
+		setVolume(255);
 		_parser->setTrack(track);
 		_parser->jumpToTick(0);
 		_parser->setTempo(1);
 	}
 }
 
+void SoundMidiPC::haltTrack() {
+	if (_parser) {
+		_isPlaying = false;
+		_fadeMusicOut = false;
+		_fadeStartTime = 0;
+		setVolume(255);
+		_parser->setTrack(0);
+		_parser->jumpToTick(0);
+		_parser->setTempo(1);
+	}
+}
+
 void SoundMidiPC::playSoundEffect(uint8 track) {
 	if (_soundEffect) {
 		_sfxIsPlaying = true;
@@ -375,7 +390,6 @@
 }
 
 void SoundMidiPC::beginFadeOut() {
-	// this should be something like fade out...
 	_fadeMusicOut = true;
 	_fadeStartTime = _engine->_system->getMillis();
 }

Modified: scummvm/trunk/engines/kyra/sound.h
===================================================================
--- scummvm/trunk/engines/kyra/sound.h	2006-03-12 14:31:40 UTC (rev 21235)
+++ scummvm/trunk/engines/kyra/sound.h	2006-03-12 15:38:59 UTC (rev 21236)
@@ -130,7 +130,7 @@
 	void loadMusicFile(const char *file);
 	
 	void playTrack(uint8 track);
-	void haltTrack() { _isPlaying = false; }
+	void haltTrack();
 	
 	void playSoundEffect(uint8 track);
 


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