I ran across your patch about a month ago when I was setting up some
DOS games for the PC hooked up to my TV. I came away with the
impression that the DOSBox developers don't exactly have a
reputation of accepting patches. I ended up just using Qsynth
rather than deal with patching and compiling DOSBox. I hope your
patch does get accepted, though, because it would definitely make
DOSBox's MPU-401 support much more user-friendly.
-~Chris
On 07/29/2012 01:16 AM, Matt Giuca
wrote:
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
(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.)
_______________________________________________
fluid-dev mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/fluid-dev
|