diff --git a/src/sound/mididevices/music_timiditypp_mididevice.cpp b/src/sound/mididevices/music_timiditypp_mididevice.cpp index cc0c3684d..69c7f7315 100644 --- a/src/sound/mididevices/music_timiditypp_mididevice.cpp +++ b/src/sound/mididevices/music_timiditypp_mididevice.cpp @@ -123,6 +123,7 @@ CUSTOM_CVAR(String, timidity_exe, "timidity", CVAR_ARCHIVE | CVAR_GLOBALCONFIG) } CVAR (String, timidity_extargs, "", CVAR_ARCHIVE|CVAR_GLOBALCONFIG) // extra args to pass to Timidity +CVAR (String, timidity_config, "", CVAR_ARCHIVE|CVAR_GLOBALCONFIG) CVAR (String, timidity_chorus, "0", CVAR_ARCHIVE|CVAR_GLOBALCONFIG) CVAR (String, timidity_reverb, "0", CVAR_ARCHIVE|CVAR_GLOBALCONFIG) CVAR (Bool, timidity_stereo, true, CVAR_ARCHIVE|CVAR_GLOBALCONFIG) @@ -184,6 +185,12 @@ TimidityPPMIDIDevice::TimidityPPMIDIDevice(const char *args) CommandLine.Format("%s %s -EFchorus=%s -EFreverb=%s -s%d ", args, *timidity_extargs, *timidity_chorus, *timidity_reverb, *timidity_frequency); + if (**timidity_config != '\0') + { + CommandLine += "-c \""; + CommandLine += timidity_config; + CommandLine += "\" "; + } #endif if (DiskName == NULL) @@ -570,6 +577,11 @@ bool TimidityPPMIDIDevice::LaunchTimidity () arglist.push_back(exename); for(size_t i = 0;i < words.we_wordc;i++) arglist.push_back(words.we_wordv[i]); + if(**timidity_config != '\0') + { + arglist.push_back("-c"); + arglist.push_back(timidity_config); + } arglist.push_back(chorusarg.c_str()); arglist.push_back(reverbarg.c_str()); arglist.push_back(sratearg.c_str());