Add environment.bat which sets environment variables appropriately for my specific setup and allows for the building of OpenAL applications by linking directly to OpenALSoft.
Added gpl license and src directories.
Added empty source files for the two most prominent classes in the library.
-ALSoundFactory.cpp and ALSoundFactory.h: Open AL initialization, cleanup, and sound creation/destruction.
-Sound.h: the file for the abstract sound class.
-ALSound.h, ALSound.cpp: private: a class to implement a sound using Open AL.  Implements the abstract Sound class.
Renamed SoundFactory to SoundEngine, as it really is going to be more than a factory.
Defined a preliminary Sound interface in Sound.h.
Rethought design: Now using ALSound and ALContext.
There is no reason that we need an engine at this stage of development.  There is no reason that an engine can't be handed precreated sounds.  There is every reason to think that a user might wish to write their own engine.
The new, simpler, design is this: one creates a Context and passes it to Sounds.
Implemented the headers for Sound and Context and began implementing Context.  It should now be possible to create a context using the default Open AL device, though this is as of yet untested.
Added test.cpp, a simple test program.
Fully implemented constructors for contexts.
Added .gitignore file.
Context class fully implemented, with basic context management functionality.  It is possible to create a context using the default device and have it destroyed at the end of the program automatically.
Defined the interface for Sound class.
Implemented buffer and source registries.  Contexts can now return buffers and sources, all of which will be closed when the context is destroyed.  Code compiles as of this commit, and Context class is mostly complete.
Converted all code to use a more convenient Error class instead of simply returning and throwing either a string or a raw Open AL error code on a whim.
Added doxyfile for doxygen and updated gitignore to ignore generated documentation.
Implemented 75% of the sound class.
Implemented Context destructor: for some reason this wasn't done previously.
Library can play (buggy) non-3d sound
The library can now play static, non-3d sound loaded from a vector.  The test program has been updated accordingly and now synthesizes a sine wave.  There is a bug in how the data is passed to Open AL which must be resolved: for some reason an extra click is being added at the end.
Fixed the aforementioned bug causing a click at the end of audio passed to the library.
In reality, this not causing an immediate crash is something mysterious and arcane: sizeof(float)=4 and sizzeof(short)=2.  Because of a typo, Open AL was being told that twice as much data as was actually available had been passed; the extra clicks were random system memory, and could have produced just about any sound instead.
Abstracted all error code into a function.
Specifically, checkALError taking a reference to a variable; if an error occurs, the error is stored in the parameter, otherwise it is left untouched.  This changes most error code from 5 lines to 1, and leaves constructors as the only special case.