hm.. sofar it looks like overkill to me. Does it really have to be this complex? One would estimate that 2 channels would be plenty for "double-buffering", as they're not, I wonder how suitable BMax' sound/audio commands are. They're perfect for games I guess, but for sound generation like this I think one needs a whole different approach. See, playing audio like this is quite a lowlevel job I think, and currently we're trying to do the same using high-level game-oriented commands. -I think-
I propose an TAudiostream class, low-level, which doesn't bother the user with details that could be filled-in by the class itself (sounds, channels, buffers), just some methods to put a user array onto a queue, and meanwhile a playback method just plays what's in the queue! :-)
I propose an TAudiostream class, low-level, which doesn't bother the user with details that could be filled-in by the class itself (sounds, channels, buffers), just some methods to put a user array onto a queue, and meanwhile a playback method just plays what's in the queue! :-)