Rémi Bernon (@rbernon) commented about dlls/dmsynth/synth.c:
TRACE("(%p, %p, %u, %u, %u)\n", fluid_preset, fluid_synth, chan, key, vel);
- patch = preset->patch;
- patch |= (preset->bank << 8) & 0x007f00;
- patch |= (preset->bank << 9) & 0x7f0000;
- if (chan == 9)
patch |= 0x80000000;- EnterCriticalSection(&synth->cs);
- find_region(synth, preset->bank, preset->patch, key, vel, &instrument, ®ion);
- if (!region && preset->bank == 128)
find_region(synth, preset->bank, 0, key, vel, &instrument, ®ion);
- find_region(synth, patch, key, vel, &instrument, ®ion);
- if (!region && chan == 9)
find_region(synth, patch & 0x80000000, key, vel, &instrument, ®ion);
What about avoiding the chan == 9 duplication?
```suggestion:-2+0 find_region(synth, patch, key, vel, &instrument, ®ion); if (!region && (patch & 0x80000000)) find_region(synth, 0x80000000, key, vel, &instrument, ®ion); ```
Or maybe even move this logic to find_region?