So I downloaded and installed FPSound. This is the nicest looking and most Pascal-like library I've seen yet. However, it may not be cross-platform yet I don't think or at least it didn't compile for Mac without modification and the library dependency $IFDEF's at the start were for windows and linux only (though strangely the file structure in the sample was for Windows and Mac only). It might have worked if I fiddled with it, but I was more concerned at getting it working on Windows anyway.
I compiled it on Windows and tested out the example which worked great...or so it seemed.
However, when I went to implement it in my project it behaves strangely. I tried using the SoundPlayer var or creating TSoundDocuments, but it is all the same. The first sound plays fine. The second time it is called it plays the first sound twice (no matter what I play). The the third time it is called it plays the first sound three times (no matter what I play). There isn't any errors in the code I have and replacing the FPSound four-or-so example lines with PlaySound(PChar(FSoundFile), 0, SND_ASYNC); results in normal behavior again.
Does FPSound even work? Has anyone else used it successfully? If you have, how do you get it to work and is it possible to get it to play more than one sound at a time?