[ Thread Index |
Date Index
| More lists.liballeg.org/allegro-developers Archives
]
Hi,
I've been thinking of generalizing and extending the Allegro sound API to
cover multi-channel positional 3D surround sound.
When Allegro was probably created, it may not have been made with these
things in mind. But now that Allegro5 is in the phase of development, it
may be possible to start early with a fresh, completely generalized,
excellent cross platform sound API.
I know that there are certain issues with making this possible in Allegro
4, but these are the things that I felt, that need to be looked into,
while designing the mixer API.
1. The sample playback parameters, in bits. There is a certain level of
incompatiblity/speed issue with older platforms like DOS, when we use
higher precision like float/double to represent volume/pan/sample etc.
values. But it would be wise to have an API which would allow us to
inter-operate between different number formats.
2. The number of channels and the drivers. As of now, the drivers have
been written with 1 or 2 channels (mostly) in mind. It would be nice to
make the drivers flexible as well.
3. The mixer system can be made to integrate parameters like setup of
speakers/normalization/number of channels/listener & source positional
data etc. while mixing sounds. Where not available, the mixing system
must be able to simulate 3D audio using 2D audio (panning and rolloff)
effects only. Demuxing can be done for lesser number of speakers than
the number of output channels.
4. It is better that Allegro's API can allow third party plugins/expansions as
well, such as DSP code, or even through callback. This will very much
enhance the sound aspects of gaming (may be psyco-acoustic
environments).
5. Support for multi-channel (>2) input formats (even AC3, if needed). The
Allegro sound input code is better written with these new things in
mind.
Now for the important part: I'm not saying that this is the best way.. Or
this is how it should be; but think of all the endless possibilities that
open up, that prove beneficial to the users of the library in the long
run. And you will agree with me.
This occured to me as I was going though the architecture of OpenAL.
http://openal.org
I really feel that Allegro (or Allegro5) has vast scope for improvement,
and that it would be really nice if we include these things in the
current/future sound API.
We will win.
Regards,
--
Karthik Kumar V
Updated Page -> http://www.geocities.com/kkgoesnuts
A Fortune Cookie :
- ------- ------ -
"Every person can be described as an equilateral triangle of side s, the
vertices representing what (s)he thinks, says and does. For an average
person, s = 10 miles ~ 16000 metres. When s = 0 metres, a person is said to
be a MAHATMA. Everybody should try to make their s get close to 0."