Thanks for the feedback. I really appreciate it.
First of all, I'm sorry - I used some misleading words like "latency" in my original post.
As far as I know, "latency" - in the case of streaming audio (like in a Digital Audio Workstation) is the actual interval of time it takes for a signal to get processed and to reach your ears - basically. To be more clear, what I meant to say was that the transition between blocks isn't seamless. How "late" the signal is doesn't really matter to me at this point.
Your "pre-prepare audio" suggestion also wouldn't work, because the user will be controlling some parameters of the audio as it's being generated, so I need things to happen "on the go".
Of course, latency
can be (and usually is) an issue with interactive applications like this one.
I designed this project with more than two buffers in mind anyways, so it's very easy for me to add buffers.
I have actually tried FMOD and BASS. I had some issues with FMOD. I liked BASS, but I felt like I wanted more control over what was going on, and that I could slap together an even more lightweight way of streaming audio.
Additionally, I would be interested in seeing your DirectSound wrapper just anyways, if it's not too much trouble.
*EDIT* Just remembered that you shared a DirectSound wrapper on this thread, is it the same one? http://www.cplusplus.com/forum/general/109119/2/