mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-22 20:21:06 +00:00
TOLTECS: Fixed music looping
This commit is contained in:
parent
14cbfd4607
commit
1bddee1e73
@ -50,7 +50,7 @@ void MusicPlayer::send(uint32 b) {
|
||||
Audio::MidiPlayer::send(b);
|
||||
}
|
||||
|
||||
void MusicPlayer::playMIDI(const byte *data, uint32 size, MusicFlags flags) {
|
||||
void MusicPlayer::playMIDI(const byte *data, uint32 size, bool loop) {
|
||||
Common::StackLock lock(_mutex);
|
||||
|
||||
stopAndClear();
|
||||
@ -76,7 +76,7 @@ void MusicPlayer::playMIDI(const byte *data, uint32 size, MusicFlags flags) {
|
||||
|
||||
setVolume(127);
|
||||
|
||||
_isLooping = flags & MUSIC_LOOP;
|
||||
_isLooping = loop;
|
||||
_isPlaying = true;
|
||||
} else {
|
||||
delete parser;
|
||||
|
@ -29,16 +29,11 @@
|
||||
|
||||
namespace Toltecs {
|
||||
|
||||
enum MusicFlags {
|
||||
MUSIC_NORMAL = 0,
|
||||
MUSIC_LOOP = 1
|
||||
};
|
||||
|
||||
class MusicPlayer : public Audio::MidiPlayer {
|
||||
public:
|
||||
MusicPlayer(bool isGM = true);
|
||||
|
||||
void playMIDI(const byte *data, uint32 size, MusicFlags flags = MUSIC_NORMAL);
|
||||
void playMIDI(const byte *data, uint32 size, bool loop = false);
|
||||
void pause();
|
||||
void resume();
|
||||
void stopAndClear();
|
||||
|
@ -1050,8 +1050,8 @@ void ScriptInterpreter::sfStartSequence() {
|
||||
_vm->_arc->closeResource();
|
||||
|
||||
if (!memcmp(data, "FORM", 4)) {
|
||||
// TODO: Looping flag
|
||||
_vm->_musicPlayer->playMIDI(data, resourceSize);
|
||||
// TODO: It seems that music is always looping?
|
||||
_vm->_musicPlayer->playMIDI(data, resourceSize, true);
|
||||
} else {
|
||||
// TODO: Where does this occur? Are these SMF MIDI files?
|
||||
warning("sfStartSequence: resource %d isn't XMIDI", sequenceResIndex);
|
||||
|
Loading…
x
Reference in New Issue
Block a user