[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[liquidwar-user] midi/oss allegro issues
From: |
Tim Chadburn |
Subject: |
[liquidwar-user] midi/oss allegro issues |
Date: |
Sat, 30 Mar 2002 08:02:39 +0000 |
> So the 2nd evolution would be to either:
> - allow people to choose a midi target
> - try all the existing targets automatically at runtime
>
> This sounds like a more serious update, which will be a little hard
> for me to code since my MIDI is broken under Linux.
As far as I know, if a valid FM driver is present in the kernel, Allegro will
use it.
All that we can really do is make sure people know about this. BTW, I've read
the alsamidi.c file, and there doesn't seem to be the 'FM only' limitation
there, but I could be wrong. I can't find any official documentation on it,
although the Allegro mailing list archive is useful-ish.
So, without further ado, here is a cut'n'paste where you like answer to "My
midi doesn't work
on OSS".
---------------------------------------------
IF your midi music on Liquid War, or indeed any other Allegro game, doesn't
work and you are using the OSS (Open Sound System) drivers (these are the sound
drivers which come with the standard kernel distribution), this may well be
because Allegro only supports "FM synthesis" and not "wavetable" when it is
using OSS. FM synthesis is a very old method of making sound from MIDI and has
long since been replaced by wavetable synthesis, with the net result that it's
quite possible you've got OSS MIDI working nicely in other applications without
having FM support set up at all. This is what I found. (It has to be said that
I didn't find the FM sound quality quite as bad as people have said, though).
In this situation, it looks to me like you have the following choices:
1. Hack Allegro to implement wavetable midi on OSS :-)
and for the rest of us...
2. Use Allegro's DIGMID midi driver, which creates audio from MIDI using a set
of patches (more info here: http://www.talula.demon.co.uk/allegro/digmid.html )
and plays back through your sound card's audio.
3. Get an FM driver up and running. Which is comprised of the following steps:
o Find out which FM driver is appropriate for your sound card.
If you have distribution-specific tools and docs for setting up
sound, try those.
If not, you will need to be familiar with the knowledge in the
Sound-HOWTO and
Kernel-HOWTO i.e. know how to compile kernels and modules and deal
with sound
drivers.
o Look through the OSS modules in 'make menuconfig' and see if anything
catches your eye. See if there is any specific documentation on your
sound card on
www.linuxdoc.org. Do a few web searches. For my AWE64, I use the OPL3
driver.
o Compile and install the FM driver module, or set up your system to
use the new
kernel if you want to compile the driver in.
o Load the module, or boot your new kernel. It is very important that
you pay
attention to what is said in the 'help' for your FM driver in 'make
menuconfig'
and read any necessary files in the Documentation/sound/ directory.
For example,
I just had a nice half-hour wondering why the hell my FM wasn't
working now when
it had been before - with the OPL3 driver, you have to give the
option io=0x388
to insmod. Which is stated nice and clear in the docs, but of course
I had forgotten
since then. You can prevent such happenings by recording options
permanently in
/etc/modules.conf - see the manpage etc.
o Try the game. If it's worked you will hear particularly beepy music.
Enjoy!
o --IMPORTANT-- If you are using Liquid War, your FM will only work if
you go to the
map 'Elephant inside a boa' and proceed to chase each other round in
circles for at
least 10 minutes. This cures a bug in the design of the OPL3
interface which
conflicts badly with the core Liquid War algorithms. How the hell the
music hardware
even knows about the core algorithms I don't know, but that's what I
made of the
now-defunct opl3-occult-FAQ, from which here is an excerpt:
Many roads a man must take. Those with one-track minds are DOOMED, I
tells ya.
---- The Liquid War algorithm calculates distances to one place, the
cursor.
And:
Man or machine, face or code, must stand strong and solid; must not
just ooze
away as slime.
---- We think it might just take objection to the whole 'slimy'
nature of the LW
---- beings. As well as it being LIQUID War.
So, our carefully tailored approach, is to firstly have the players
going in all
the possible different directions evenly by moving around the map in
circles, and
secondly to divert the opl3's attention from the general slimy
liquidness of it all
by emphasizing the solidity, reality, and natural goodness of that
classic
tapestry: an elephant inside a boa.
That and it's a fucking ace level.
---------------------------------------------
There's another midi attached, if it doesn't get through because the list
doesn't allow it for some reason just say so.
fodder.mid
Description: Binary data
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [liquidwar-user] midi/oss allegro issues,
Tim Chadburn <=