From 957f67f7cc6646161e34629859d497136e79073b Mon Sep 17 00:00:00 2001 From: Randy Heit Date: Sun, 11 Mar 2012 03:56:20 +0000 Subject: [PATCH] - Fixed: FMOD as MIDI device always looped the song, even when it shouldn't (such as the title music). SVN r3425 (trunk) --- src/sound/music_midi_timidity.cpp | 2 +- src/sound/music_pseudo_mididevice.cpp | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/sound/music_midi_timidity.cpp b/src/sound/music_midi_timidity.cpp index bb897beff..ac0ba5e2a 100644 --- a/src/sound/music_midi_timidity.cpp +++ b/src/sound/music_midi_timidity.cpp @@ -145,7 +145,7 @@ bool TimidityPPMIDIDevice::Preprocess(MIDIStreamer *song, bool looping) CommandLine.UnlockBuffer(); // Write MIDI song to temporary file - song->CreateSMF(midi); + song->CreateSMF(midi, looping ? 0 : 1); f = fopen(DiskName, "wb"); if (f == NULL) diff --git a/src/sound/music_pseudo_mididevice.cpp b/src/sound/music_pseudo_mididevice.cpp index 5dc8e8863..6c1c90b4c 100644 --- a/src/sound/music_pseudo_mididevice.cpp +++ b/src/sound/music_pseudo_mididevice.cpp @@ -255,7 +255,8 @@ bool FMODMIDIDevice::Preprocess(MIDIStreamer *song, bool looping) { TArray midi; - song->CreateSMF(midi); + song->CreateSMF(midi, looping ? 0 : 1); + bLooping = looping; Stream = GSnd->OpenStream((char *)&midi[0], looping ? SoundStream::Loop : 0, -1, midi.Size()); return false; }