1
0
Fork 0

Fix #7189: Fluidsynth volume gain too high

pull/7256/head
Nikolas Nyby 2019-02-08 19:43:08 -05:00 committed by Niels Martin Hansen
parent 6733b71300
commit 8a6e03c4d2
1 changed files with 5 additions and 1 deletions

View File

@ -149,7 +149,11 @@ bool MusicDriver_FluidSynth::IsSongPlaying()
void MusicDriver_FluidSynth::SetVolume(byte vol)
{
/* Allowed range of synth.gain is 0.0 to 10.0 */
if (fluid_settings_setnum(_midi.settings, "synth.gain", 1.0 * vol / 128.0) != 1) {
/* fluidsynth's default gain is 0.2, so use this as "full
* volume". Set gain using OpenTTD's volume, as a number between 0
* and 0.2. */
double gain = (1.0 * vol) / (128.0 * 5.0);
if (fluid_settings_setnum(_midi.settings, "synth.gain", gain) != 1) {
DEBUG(driver, 0, "Could not set volume");
}
}