On Tue Nov 14 09:21:35 2023 +0000, Anton Baskanov wrote:
Although they look fine, 20ab5954 (and ec219ce1 even more) cut some
notes early in FF VIII intro. Looks like note-off queuing for DMUS_PMSGT_NOTE needs to be handled differently. I'll drop these for now.
Haven't really looked into the details but 0ff26da7 feels a bit
complicated, I'm wondering if there's a better way to do this. It depends on whether we need to support arbitrary connections.
Regarding 2e226c26, is this what native does?
Yes, there is no fallback for melodic instruments for some reason, only for drums. Though now I see that I handle missing regions incorrectly (these should also fall back to Standard). I'll update the request. I was also thinking about adding some tests, though I'm not sure how to compare the output. The generated waveforms are quite different (e.g. native produces a linear attack slope with some discrete steps, while FluidSynth produces a smooth exponential one). ![Screenshot_20231114_155825](/uploads/e46a2662792a0452350b8384b7eea0a6/Screenshot_20231114_155825.png)
The attack time looks different but were it the same I think the shape difference can be ignored by having some leeway in the test. I added a couple of similar tests for MF audio transform output where we check that the total sample diff does not exceed a small percentage of the total, maybe reusing it here can work.