summaryrefslogtreecommitdiff
path: root/src/music/qtmidi.cpp
diff options
context:
space:
mode:
authorNiels Martin Hansen <nielsm@indvikleren.dk>2018-03-21 17:12:29 +0100
committerMichael Lutz <michi@icosahedron.de>2018-06-05 22:58:35 +0200
commita8080f14a9c75a1175976ee8d0cd17c677b55119 (patch)
treedc57362c439d6958f01c680f8f538da28fd3bf4e /src/music/qtmidi.cpp
parent458e441a4ca5d451941958e056189a059f2eee76 (diff)
downloadopenttd-a8080f14a9c75a1175976ee8d0cd17c677b55119.tar.xz
Change: DOS music loading for non-Windows music drivers
Diffstat (limited to 'src/music/qtmidi.cpp')
-rw-r--r--src/music/qtmidi.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/music/qtmidi.cpp b/src/music/qtmidi.cpp
index 4cd01691d..f8ab150e7 100644
--- a/src/music/qtmidi.cpp
+++ b/src/music/qtmidi.cpp
@@ -30,6 +30,7 @@
#include "../stdafx.h"
#include "qtmidi.h"
+#include "midifile.hpp"
#include "../debug.h"
#include "../base_media_base.h"
@@ -261,10 +262,12 @@ void MusicDriver_QtMidi::Stop()
*/
void MusicDriver_QtMidi::PlaySong(const MusicSongInfo &song)
{
- if (song.filetype != MTT_STANDARDMIDI) return;
if (!_quicktime_started) return;
- DEBUG(driver, 2, "qtmidi: trying to play '%s'", filename);
+ std::string filename = MidiFile::GetSMFFile(song);
+ if (filename.empty()) return;
+
+ DEBUG(driver, 2, "qtmidi: trying to play '%s'", filename.c_str());
switch (_quicktime_state) {
case QT_STATE_PLAY:
StopSong();
@@ -278,12 +281,12 @@ void MusicDriver_QtMidi::PlaySong(const MusicSongInfo &song)
FALLTHROUGH;
case QT_STATE_IDLE:
- LoadMovieForMIDIFile(song.filename, &_quicktime_movie);
+ LoadMovieForMIDIFile(filename.c_str(), &_quicktime_movie);
SetMovieVolume(_quicktime_movie, VOLUME);
StartMovie(_quicktime_movie);
_quicktime_state = QT_STATE_PLAY;
}
- DEBUG(driver, 3, "qtmidi: playing '%s'", filename);
+ DEBUG(driver, 3, "qtmidi: playing '%s'", filename.c_str());
}