Re: [AD] putting sound API in SVN |
[ Thread Index |
Date Index
| More lists.liballeg.org/allegro-developers Archives
]
Chris Robinson wrote:
I suppose I can add extra functions for it. The problem is mainly with the
current ALSA driver, as that allocates a new output connection for every
Allegro voice (so, if you allocate a mono voice, it gives mono output). In
that way it differs from the OpenAL driver, which creates a new source on the
output that was selected at driver initialization and does actual mixing for
them. That allows you to take a mono voice and pan it around if you're
outputting on 2+ channels (unlike the ALSA driver which only combines voice
output and doesn't allow that because the mono voice is outputting on a mono
channel). IMO, the OpenAL driver is the preferrable method, but doing that
would remove ALSA's multiple hardware voice capabilities.
OK, I see now that there is a lot of work to be done on alsa driver. It
will probably get rewritten one more time. We need to use some of these
functions to to make the voice settings independent on the driver output
settings: http://www.alsa-project.org/alsa-doc/alsa-lib/pcm_plugins.html
and a config file has to be constructed at runtime with these:
http://www.alsa-project.org/alsa-doc/alsa-lib/group___config.html
And I don't like that spawning a new thread per voice thing.
I'll also need to change some of the struct's non-voice functions to take a
unique value so a single driver can be instantiated multiple times. Unless
you don't think that particular ability is important?
Dunno. I don't see any use of that with all this mixer stuff.
--
Milan Mimica
http://sparklet.sf.net