Since I mentioned on the RC testing program about using FluidSynth as a
DOSBox backend, I thought I'd explain.

I recently played through all of the King's Quest games (marvellous
historical look at the evolution of adventure games) in DOSBox and I came
up to King's Quest VII and the music didn't work. I had also had this
problem with another Sierra game, Phantasmagoria, which uses the same
engine. It turns out that unlike most DOS games (including the previous
games in the series), which use AdLib or some other kind of music synthesis
that DOSBox can natively handle, these two games were using MPU-401, which
basically means General MIDI. DOSBox doesn't natively render MPU-401 music,
it just sends it out to the OS as normal MIDI commands.

I worked around this by opening up a FluidSynth server in the background
whenever I played these games, and told DOSBox to send its MIDI output to
the same channel. But this always felt like a bit of a hack. I could have
possibly set up FluidSynth to launch on start-up, but that would have been
a bit of configuration work, and I don't actually want it running all the
time, only when I play a select few games. Besides, you can't expect
everybody to have a FluidSynth server, and furthermore, if you use it on
Windows, it works, but it sounds terrible since it's using whatever Windows
uses for MIDI synth these days.

So I made a patch for DOSBox to add 'fluidsynth' as a built-in MIDI driver.
Rather than sending MIDI commands to an external program, DOSBox can now be
configured to use the FluidSynth API and send MIDI commands directly to an
in-process MIDI renderer. You can even configure the soundfont in the
dosbox.conf file, so you don't need to provide it as a command-line flag.
It works nicely, and I can now get proper music in KQ7 and Phantasmagoria
on any platform without having to run a separate server.

I submitted the patch
here<http://vogons.zetafleet.com/viewtopic.php?p=259835>(apparently
they don't have any better way to take pull requests or even a
mailing list, you are just supposed to attach patches on the forum) about
four months ago. I got a few people saying thanks, but nobody has accepted
the patch into the mainline. Oh well -- I suppose there isn't a huge number
of games that use MPU-401. But if anybody on this list is interested, there
it is. (And my Bazaar branch for DOSBox is
here<https://code.launchpad.net/%7Emgiuca/dosbox/fluidsynth>
.)
_______________________________________________
fluid-dev mailing list
fluid-dev@nongnu.org
https://lists.nongnu.org/mailman/listinfo/fluid-dev

Reply via email to