diff --git a/src/s_advsound.cpp b/src/s_advsound.cpp index e121bc2ee..46d4bc813 100644 --- a/src/s_advsound.cpp +++ b/src/s_advsound.cpp @@ -1294,6 +1294,7 @@ static void S_AddSNDINFO (int lump) else if (sc.Compare("standard")) MidiDevices[nm] = MDEV_MMAPI; else if (sc.Compare("opl")) MidiDevices[nm] = MDEV_OPL; else if (sc.Compare("default")) MidiDevices[nm] = MDEV_DEFAULT; + else if (sc.Compare("fluidsynth")) MidiDevices[nm] = MDEV_FLUIDSYNTH; else sc.ScriptError("Unknown MIDI device %s\n", sc.String); } break; diff --git a/src/s_sound.h b/src/s_sound.h index 8d89d1a0d..05237ba27 100644 --- a/src/s_sound.h +++ b/src/s_sound.h @@ -378,6 +378,7 @@ enum EMidiDevice MDEV_OPL = 1, MDEV_FMOD = 2, MDEV_TIMIDITY = 3, + MDEV_FLUIDSYNTH = 4, }; typedef TMap MidiDeviceMap; diff --git a/src/sound/i_music.cpp b/src/sound/i_music.cpp index 60a87ea67..eb68d290e 100644 --- a/src/sound/i_music.cpp +++ b/src/sound/i_music.cpp @@ -441,7 +441,7 @@ MusInfo *I_RegisterSong (const char *filename, BYTE *musiccache, int offset, int info = new MUSSong2(file, musiccache, len, MIDI_Timidity); } #ifdef HAVE_FLUIDSYNTH - else if (snd_mididevice == -5 && device == MDEV_DEFAULT) + else if (device == MDEV_FLUIDSYNTH || (snd_mididevice == -5 && device == MDEV_DEFAULT)) { info = new MUSSong2(file, musiccache, len, MIDI_Fluid); } @@ -528,7 +528,7 @@ MusInfo *I_RegisterSong (const char *filename, BYTE *musiccache, int offset, int info = new MIDISong2(file, musiccache, len, MIDI_Timidity); } #ifdef HAVE_FLUIDSYNTH - else if (snd_mididevice == -5 && device == MDEV_DEFAULT) + else if (device == MDEV_FLUIDSYNTH || (snd_mididevice == -5 && device == MDEV_DEFAULT)) { info = new MIDISong2(file, musiccache, len, MIDI_Fluid); }