iosopenalfinch

Why doesn't Finch share a single Buffer for it's polyphonic sounds?


I am doing some research and experimenting with OpenAL - specifically I am interested in techniques for polyphony - that is, playing a single sound multiple times concurrently. I came across Finch which has a feature to support this. In my own code I had created a single OpenAL Buffer per audio file and then initialized multiple OpenAL Sources with that Buffer. Finch, on the other hand, creates an OpenAL Buffer per OpenAL Source. Is there any performance-related or functional reason for this?


Solution

  • The short answer is that the author is a village idiot and deserves spanking. The longer answer is that it never occured to me that you can implement polyphony by sharing a sound buffer between sources, hence the duplication. I’ve created a new issue and will take a look at the code when I have time.

    (Update: It works very well indeed and is a part of the current code.)