[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: ) 
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
        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
 Do a few web searches. For my AWE64, I use the OPL3 

        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 
          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. 

        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 


          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 
          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.



Attachment: fodder.mid
Description: Binary data

reply via email to

[Prev in Thread] Current Thread [Next in Thread]