From: Anton Baskanov baskanov@gmail.com
--- dlls/dmsynth/synth.c | 2 ++ dlls/dmsynth/tests/dmsynth.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/dlls/dmsynth/synth.c b/dlls/dmsynth/synth.c index 36e53f59617..57916b9e733 100644 --- a/dlls/dmsynth/synth.c +++ b/dlls/dmsynth/synth.c @@ -1726,6 +1726,8 @@ static void add_mod_from_connection(fluid_voice_t *fluid_voice, const CONNECTION * whereas DLS2 uses (1200 * log2(f / 440.) + 6900) * 65536. The values * are very close but not strictly identical and we may need a conversion. */ + else if (gen == GEN_MODLFOTOVOL && src1 == FLUID_MOD_CHANNELPRESSURE) + value = conn->lScale / 655360.; else if (conn->lScale == 0x80000000) value = -32768; else value = conn->lScale / 65536.; fluid_mod_set_amount(mod, value); diff --git a/dlls/dmsynth/tests/dmsynth.c b/dlls/dmsynth/tests/dmsynth.c index 334faa070b5..cf63c7bdc12 100644 --- a/dlls/dmsynth/tests/dmsynth.c +++ b/dlls/dmsynth/tests/dmsynth.c @@ -2675,7 +2675,7 @@ static void test_dls(void) envelope = default_volume_envelope; envelope.lfo.freq = 2.; envelope.lfo.scale = 10.; - check_volume_envelope(synth, &download, &midi, &envelope, TRUE); + check_volume_envelope(synth, &download, &midi, &envelope, FALSE);
/* velocity -> gain */