Ah, I didn't even think about trying to research how SDL handles MIDI... based on what you posted, I tried launching RnD with
Code: Select all
SDL_SOUNDFONTS=/usr/share/soundfonts/FluidR3_GM.sf2 rocksndiamonds
... and it worked! But that means it's launching its own instance of Fluidsynth to use rather than connecting to an external midi connection like with WINE? Interesting, but hey, it seems to be working, so I can't complain. Well, I can, it could've attempted to find the Soundfonts itself instead of requiring me to set an environment variable.
A slightly interesting issue though with this, it seems to be restarting songs where they left off instead of restarting them at the beginning. Also I had to turn down RnD's volume quite a bit in the menu, else the music tends to get too loud and clip.
Anyway,
Holger wrote: ↑Thu Oct 22, 2020 2:41 pm
QSynth is a "Qt GUI Interface for FluidSynth".
Yeah, essentially it allows for relatively easy configuration and launching of Fluidsynth, a bit like qJackCtl does with Jack. Fluidsynth can be run independently though.
The thing is, most applications that implement MIDI functionality will send data to an external process that's already running (is it called a MIDI server?). This obviously also means that you're just not limited to just Fluidsynth and Timidity. However, SDL's implementation for some reason apparently launches Timidity/Fluidsynth by itself and runs data directly to that somehow (it doesn't seem to be through ALSA; I don't see anything related to it on naconnect)
When RnD is running under WINE, I assume SDL just sends MIDI data to WINE when RnD is running under it like it'd probably do to Windows, and WINE takes care of routing the events to an external process.
Well, I'm rambling now, but I think this actually explains something else. Years ago I did use Timidity (with freepats, missing instruments and all), and I noticed then that there were differences between listening to a MIDI file directly in Timidity versus how it sounded in the game. I remember specifically that some drum sounds were higher pitched than they should've been. For all I know, that might even still be an issue... I should play with it again at some point in the near future. Little good it does though, heh.