From: Anton Baskanov baskanov@gmail.com
--- dlls/dmsynth/synth.c | 2 ++ dlls/dmsynth/tests/dmsynth.c | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/dlls/dmsynth/synth.c b/dlls/dmsynth/synth.c index b110e43aa47..0516b76af9c 100644 --- a/dlls/dmsynth/synth.c +++ b/dlls/dmsynth/synth.c @@ -600,6 +600,8 @@ static HRESULT WINAPI synth_Open(IDirectMusicSynth8 *iface, DMUS_PORTPARAMS *par
/* native limits the total voice gain to 6 dB */ gain = 60.; + /* compensate gain added in fluid_iir_filter_q_from_dB/fluid_iir_filter_set_q */ + gain -= 15.05; fluid_settings_setnum(This->fluid_settings, "synth.gain", pow(10., gain / 200.));
if (!(This->fluid_synth = new_fluid_synth(This->fluid_settings))) diff --git a/dlls/dmsynth/tests/dmsynth.c b/dlls/dmsynth/tests/dmsynth.c index 7662f26ec4b..4ecaf5863e1 100644 --- a/dlls/dmsynth/tests/dmsynth.c +++ b/dlls/dmsynth/tests/dmsynth.c @@ -1798,7 +1798,7 @@ static void test_IKsControl(void) ok(hr == S_OK, "got hr %#lx.\n", hr); envelope = default_volume_envelope; envelope.gain -= 60.; - check_volume_envelope(synth, &default_instrument_download, &default_midi, &envelope, TRUE); + check_volume_envelope(synth, &default_instrument_download, &default_midi, &envelope, FALSE);
/* default value for volume 1 is 600 */ volume = 600; @@ -1809,7 +1809,7 @@ static void test_IKsControl(void) ok(hr == S_OK, "got hr %#lx.\n", hr); envelope = default_volume_envelope; envelope.gain -= 60.; - check_volume_envelope(synth, &default_instrument_download, &default_midi, &envelope, TRUE); + check_volume_envelope(synth, &default_instrument_download, &default_midi, &envelope, FALSE);
/* gain from volume 0 and 1 is added together */ volume = 0; @@ -1820,7 +1820,7 @@ static void test_IKsControl(void) ok(hr == S_OK, "got hr %#lx.\n", hr); envelope = default_volume_envelope; envelope.gain -= 120.; - check_volume_envelope(synth, &default_instrument_download, &default_midi, &envelope, TRUE); + check_volume_envelope(synth, &default_instrument_download, &default_midi, &envelope, FALSE);
IKsControl_Release(control); IDirectMusicSynth_Release(synth);