[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