Speaking as a noob, I hope that the implementation soon stabilizes at
the new spec.
Congrats and thanks to the contributors.
In considering the cleanup of the alut routines I would suggest a
clear statement of the how the user
should view the routines provided by the library.
The following is not a criticism of Steve Baker's first draft. On the
contrary, I was impressed on quickly he got a draft ready. (wtg, Steve)
The current introductions for OpenAl and Alut present the model as
"it's an audio analog to OpenGL", which when read by a noob reads "go
learn OpenGL, first, noob. Then come back here. It's just like OpenGL."
How about an introduction or abstract that is a little more informative?
Something like...
[quote]
OpenAL provides a widely supported, cross-platform interface to 3D
audio spatialization services.
The library models a collection of audio sources moving in a 3D-space
that are heard by a single listener located somewhere in that space.
The library constructs an abstraction of the sound field and renders
it as if it were heard at the listener's position in the field. The
"space" in which "sources" and "listener" exist has properties such
as the speed of sound, attenuation characteristics, and other
properties relevant to the selected sound propagation model. The
"sources" and the "listener" have properties of location, velocity,
and orientation. The set of sources, the listener, and the space are
associated together in an "audio context". Each "audio context"
represents the scene in which a sound stream is rendered. The sound
emanating from a source is represented by an 'alBuffer object.
An 'alBuffer object is an instantiation of a sound before it has been
rendered. 'alBuffer objects may be associated with more than one
scene, whereas 'alSources and 'alListener are associated with one,
and only one, audio context. 'alBuffer objects may created from file
system sources using ... or from memory using ... or with synthetic
sources using ... The basics steps using the spatialization service are:
1) create a 'alContext, the audio scene;
2) populate it with sources, 'alSource objects;
3) add a listener, 'alListener object;
4) attach a sound object, 'alBuffer to each source
5) let'r rip
...
source/listener positions/orientation evolve here
...
6) halt
7) cleanup
The intent is to provide an audio analog to the visual rendering
services provide by OpenGL.
The details of the API have been chosen to make them familiar to
OpenGL programmers.
The design similarity should permit the easy addition of audio
spatialization effects to a scene update loop.
[/quote]
Feel free to trash the above, I wont be offended. I just intended it
as an example and don't even know if it's technically correct.
...fb
|