diff options
author | pasky <pasky@openttd.org> | 2005-03-27 15:42:25 +0000 |
---|---|---|
committer | pasky <pasky@openttd.org> | 2005-03-27 15:42:25 +0000 |
commit | 04dc6441aad06c067fced48e132afc89c899c10e (patch) | |
tree | 025c800afe780843a500c7cc0b176d165425ea44 | |
parent | 60bb2374d6fcb24eaec82eae2470e3e0d65c0213 (diff) | |
download | openttd-04dc6441aad06c067fced48e132afc89c899c10e.tar.xz |
(svn r2088) - Fix: [ 1155158 ] Make extmidi command a config option in addition to the compile-time MIDI switch. Patch by macbaine.
-rw-r--r-- | Makefile | 3 | ||||
-rw-r--r-- | extmidi.c | 9 | ||||
-rw-r--r-- | settings.c | 5 | ||||
-rw-r--r-- | sound.h | 1 |
4 files changed, 11 insertions, 7 deletions
@@ -62,7 +62,8 @@ # RELEASE: this will be the released version number. It replaces all places # where it normally would print the revision number # MIDI: if set, it will use it as custom path to midi player. -# If unset, it will use the hardcoded path in the c code +# If unset, it will use the hardcoded path in the c code +# This can still be overriden by the music.extmidi openttd.cfg option. # WITH_NETWORK: enable networking # DEDICATED: allows compilation on UNIX without SDL. Useful for dedicated servers # @@ -4,6 +4,7 @@ #include "ttd.h" #include "hal.h" +#include "sound.h" #include <sys/types.h> #include <sys/wait.h> #include <unistd.h> @@ -11,10 +12,6 @@ #include <sys/stat.h> #include <errno.h> -#ifndef EXTERNAL_PLAYER -#define EXTERNAL_PLAYER "timidity" -#endif - static pid_t _pid; static void extmidi_kill(void) @@ -50,9 +47,9 @@ static void extmidi_play_song(const char *filename) if (_pid == 0) { #if defined(MIDI_ARG) - execlp(EXTERNAL_PLAYER, "extmidi", MIDI_ARG, filename, NULL); + execlp(msf.extmidi, "extmidi", MIDI_ARG, filename, NULL); #else - execlp(EXTERNAL_PLAYER, "extmidi", filename, NULL); + execlp(msf.extmidi, "extmidi", filename, NULL); #endif fprintf(stderr, "extmidi: couldn't execl: %s\n", strerror(errno)); exit(0); diff --git a/settings.c b/settings.c index 3623c6ca7..fbc37713d 100644 --- a/settings.c +++ b/settings.c @@ -716,6 +716,10 @@ static void save_setting_desc(IniFile *ini, const SettingDesc *desc, const void // TTD specific INI stuff //*************************** +#ifndef EXTERNAL_PLAYER +#define EXTERNAL_PLAYER "timidity" +#endif + static const SettingDesc music_settings[] = { {"playlist", SDT_UINT8, (void*)0, &msf.playlist, NULL}, {"music_vol", SDT_UINT8, (void*)128, &msf.music_vol, NULL}, @@ -724,6 +728,7 @@ static const SettingDesc music_settings[] = { {"custom_2", SDT_INTLIST | SDT_UINT8 | lengthof(msf.custom_2) << 16, NULL, &msf.custom_2, NULL}, {"playing", SDT_BOOL, (void*)true, &msf.btn_down, NULL}, {"shuffle", SDT_BOOL, (void*)false, &msf.shuffle, NULL}, + {"extmidi", SDT_STRINGBUF | (lengthof(msf.extmidi)<<16), EXTERNAL_PLAYER, &msf.extmidi, NULL}, {NULL, 0, NULL, NULL, NULL} }; @@ -9,6 +9,7 @@ typedef struct MusicFileSettings { byte custom_2[33]; bool btn_down; bool shuffle; + char extmidi[80]; } MusicFileSettings; VARDEF byte _music_wnd_cursong; |