 OpenAL Test Notes

 If there are any core OpenAL API shortcomings exposed by these
 tests at the code level, they are marked in this codebase by
 a comment string "*** API Issue ***".

 There are three classes of tests supported by this program:

    1) Fully Automated Testing
		   These tests run entirely by themseves and requre no
       user input.
    2) Semi-Automated Testing
         These tests require some analysis by the user. 
    3) Interactive Testing
         These tests allow a user to create their own OpenAL
       scenarios.

 To find the menu in the code, search for the string 
 "*** Main Menu ***".


Fully Automatic Tests
Request Object Names
This test checks that OpenAL responds correctly to the creation of either
zero or -1 objects.  The two object types are Buffers and Sources.  When
zero objects are requested, the call should be the equivalent of a NOP.
when -1 objects are requested, an AL_INVALID_VALUE error should be generated.


Fully Automatic Tests
Release Object Names
This test checks that OpenAL responds correctly to the deletion of -1 objects.
The two object types are Buffers and Sources.  When -1 objects are requested, an
AL_INVALID_VALUE error should be generated.


Fully Automatic Tests
Validating Object Names
This test checks that OpenAL can test the validity of a source or buffer.  A
check is made on valid objects for a positive result, and a check is made on
invalid objects to confirm a negative result.


Fully Automatic Tests
State Transition Testing
This test checks that OpenAL can monitor the state of a source properly.  The
source is tested to make sure it can run through all its possible states --
AL_INITIAL, AL_PLAYING, AL_PAUSED, and AL_STOPPED.


Semi Automatic Tests
String Queries Test
This test outputs the renderer, version #, vendor, and extensions string so that
the user can confirm that the string values are correct.


Semi Automatic Tests
Source Gain Test
This test outputs a source at multiple gain values for testing by the user.


Semi Automatic Tests
Listener Gain Test
This test outputs a source at a fixed gain level, and tests various listener gain levels.


Interactive Tests
Buffer Test
This test allows the user to dynamically attach and unattach different buffers
to a single source.


Interactive Tests
Position Test
This test creates 2 Sources - one to the front right of the listener, and one to
the rear left of the listener


Interactive Tests
Looping Test
This test checks the ability to switch Looping ON and OFF for a particular source, either before
or during Playback.  (If looping is switched off during playback, the buffer should finish playing
until the end of the sample.)


Interactive Tests
EAX Test
This test Uses 2 Sources to test out EAX 2.0 Reverb, Occlusion and Obstruction.  Also tests the use
of the DEFERRED flag in EAX.


Interactive Tests
Queue Test
This test checks the ability to queue and unqueue a sequence of buffers on a Source. (Buffers
can only be	unqueued if they have been PROCESSED by a Source.)


Interactive Tests
Stereo Test
This test plays a stereo buffer.


Interactive Tests
Gain Test
This test plays two sources, allowing the control of source and listener gain.


Interactive Tests
Streaming Test
This test streams a long stereo wave file from harddisc - using AL Queuing


