Hi,
I don't have
time to write another test program version. Anyway, I don't see why
fluid_synth_write_float() should impose any limit on the buffer size.
But I finally did, and attached is a third test. It uses libsndfile
directly, so you need to link against it in addition to fluidsynth.
Running the program with its default values produces wrong results.
Executing the program with tempo>= 330 the results are correct (buffer size
= 31928 frames) but with tempo<= 320 the output is wrong (buffer size =
32986 frames). Looks like a signed short int variable is used somewhere with
time calculations. By the way, there is also a constant SR = 44100 hanging
around.
Regards,
Pedro