summaryrefslogtreecommitdiff
path: root/src/music/libtimidity.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/libtimidity.cpp
parent458e441a4ca5d451941958e056189a059f2eee76 (diff)
downloadopenttd-a8080f14a9c75a1175976ee8d0cd17c677b55119.tar.xz
Change: DOS music loading for non-Windows music drivers
Diffstat (limited to 'src/music/libtimidity.cpp')
-rw-r--r--src/music/libtimidity.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/music/libtimidity.cpp b/src/music/libtimidity.cpp
index f198280dc..42c1e3c15 100644
--- a/src/music/libtimidity.cpp
+++ b/src/music/libtimidity.cpp
@@ -14,6 +14,7 @@
#include "../sound_type.h"
#include "../debug.h"
#include "libtimidity.h"
+#include "midifile.hpp"
#include "../base_media_base.h"
#include <fcntl.h>
#include <sys/types.h>
@@ -76,11 +77,12 @@ void MusicDriver_LibTimidity::Stop()
void MusicDriver_LibTimidity::PlaySong(const MusicSongInfo &song)
{
- if (song.filetype != MTT_STANDARDMIDI) return;
+ std::string filename = MidiFile::GetSMFFile(song);
this->StopSong();
+ if (filename.empty()) return;
- _midi.stream = mid_istream_open_file(song.filename);
+ _midi.stream = mid_istream_open_file(filename.c_str());
if (_midi.stream == NULL) {
DEBUG(driver, 0, "Could not open music file");
return;