So at the OpenAL level, each sound is managed individually but it is a private implementation detail of an OpenAL implementation of how things are actually put together.
The buffer underrun warnings are only related to streaming samples. These occur because OpenAL makes us periodically feed it more data. If we don’t feed it enough data fast enough, OpenAL starves and you get a pause until we can feed it more data.
Pre-loaded samples don’t have to worry about this. (audio.loadSound())
Looping is just playing the same sound again. We providing a looping API parameter to help make this faster and easier. In theory, if you use our API, we have less function-call overhead to go through to play the sound again. And for pre-loaded samples, if you are looping infinitely, we can use OpenAL’s built-in looping parameters to avoid even more function-call overhead.
But in practice, you usually aren’t going to notice the difference in timing of a few more function calls.
I take it that you might be thinking about chaining sound effects one after another and hoping it sounds seamless. The one caveat is that we run things on multiple threads so there might be some additional unpredictable latency introduced for thread switching. I say give it a try and let us know how it works. You should use pre-loaded samples for lowest latency.
[import]uid: 7563 topic_id: 4289 reply_id: 14193[/import]