Okay,
here's the repository. It's cleaned up some from what I did last month to try and isolate as many of the changes as possible out of the main FluidSynth code. The intent is that you should always be able to pull master from the original repository and rebase the native_win32 branch on top of it and have it work.
Rachael, while reworking this code, I found a mistake I made with one stub in the DLL I gave you earlier, so you should use this instead. I don't think it would have caused problems under any normal circumstances, though. Attached are new arm64 and x64 DLLs compiled from it. These are version 2.2.8 instead of whatever 1.1.x version I did before. The libfluidsynth64.dll is a drop-in replacement for the one shipping with GZDoom now. I'm quite astonished by how much smaller these are without any of the glib code statically linked in.
These DLLs were configured with "
-Denable-static-msvcrt=on -Denable-dsound=off -Denable-wasapi=off -Denable-waveout=off -Denable-winmidi=off -Denable-network=off -Denable-aufile=off", so they can't output any audio directly, talk over the network, or receive MIDI events from MIDI devices, but they're perfectly suitable for ZMusic, since it doesn't need any of those features anyway. The static CRT is to keep up the tradition of not using the DLL version of the CRT.
I used vcpkg to get libsndfile support, so these DLLs also support SF3 soundfonts. However, vcpkg's libsndfile is named sndfile.dll, and GZDoom uses libsndfile-1.dll, so I used this
genlib batch script to create a new import .lib from libsndfile-1.dll and overwrote the sndfile.lib installed by vcpkg so that the FluidSynth DLL would import from libsndfile-1.dll instead of sndfile.dll. (Yes, it's messy, but it worked well enough for my needs at the moment.)
Gentables is not working with cross-compilation. I don't know why and didn't feel like trying too hard to figure it out, so to do the arm64 compile, I temporarily commented out the end of src/CMakeLists.txt to not bother with it and copied the generated files over from the x64 build instead.
You do not have the required permissions to view the files attached to this post.