[Openal] Final draft of ALUT spec?

Stephen J Baker sjbaker at link.com
Thu Aug 25 06:33:01 PDT 2005


The ALUT specification is up (as a Wiki) here:

   http://www.usemod.com/cgi-bin/mb.pl?OpenALUtilityToolkit

I regard this as very close to finished - so if you havn't read it yet,
you might want to do so.

I've actually started writing code - I should have a first working version
under LGPL sometime tomorrow (Friday).  I'll have it build using autotools
under Linux - it should also build the same way under MacOSX and under
Windows using Cygwin.  I'll need someone else to create MSVC and BorlandC
project files - I have no way to do that.  Someone will also have to put
the god-awful Microsoftian __cdecl crap in there because I have no knowledge
of how that non-portable nonsense plays with '.DLL' libraries.

In the course of building the header file and function prototypes I discovered
some small problems.  I also made a few fixes to the spec following discussions
on the ALUT developer list:

1) After discussions here, I've dropped all support for multiple devices
    and multiple contexts in ALUT.  The justification for that is that the ALUT
    API is only going to be simpler than 'raw' ALC calls if we limit it in this
    manner.

    However, we still need to have a way to initialise ALUT in the case where the
    application developer wants to 'roll his own' context creation code.
    Hence, we now have TWO possibilities on startup:

       ALboolean alutInit               ( int *argcp, char **argv ) ;
       ALboolean alutInitWithoutContext ( int *argcp, char **argv ) ;

    ...and one on exit...

       void alutExit () ;

    alutInit now has the same behavior as it did in the existing ALUT code - except
    that it returns an error code.  This should be reverse-compatible in all but the
    most perverse cases.

    All of the alut*Context stuff I wrote into the spec has gone away.

2) I've replaced native C datatypes with AL data types wherever that makes
    sense.  The 'frequency' terms in some ALUT calls have been turned into
    float's.

3) Various small changes in wording all over the place.

4) I'd had brain-fade in a couple of places and named ALUT tokens 'AL_whatever'
    instead of 'ALUT_whatever'.

-----------------------------------------------------------------------
The second law of Frisbee throwing states: "Never precede any maneuver
by a comment more predictive than "Watch this!"...it turns out that
this also applies to writing Fragment Shaders.
-----------------------------------------------------------------------
Steve Baker                      (817)619-2657 (Vox/Vox-Mail)
L3Com/Link Simulation & Training (817)619-2466 (Fax)
Work: sjbaker at link.com           http://www.link.com
Home: sjbaker1 at airmail.net       http://www.sjbaker.org




More information about the Openal mailing list