I'm trying to get a group of sounds to play, repeating, in sync.
Ok so we have llLoopSoundMaster and llLoopSoundSlave/llPlaySoundSlave, seems straightforward enough. Now llLoopSoundSlave "freewheels" once started, so eventually it will drift out of sync with the master. Fair enough, that's a documented feature of the implementation. So it seems the solution would be to repeatedly trigger llPlaySoundSlave, but the problem there is that as far as I can tell a script will not respond to another llPlaySoundSlave until the first sound is done playing. So if I create a timer loop or something along those lines to repeatedly trigger llPlaySoundSlave it "skips" every odd instance, only retriggering successfully after a period of silence.
I've managed a workaround that involves a second prim playing the same loop in response to an llMessageLinked (sent after a fixed delay), so functionally the prims trade back and forth to fill in the gaps, but it's an ugly hack and performance is hurt by the messages flying around .
So any intrepid scripters here played with this stuff before, or can anybody suggest a strategy for repeatedly triggering the same sound over and over continuously without a gap of silence between each iteration?
Also secondarily: am I correct in noticing that llStopSound will immediately cut off a sound triggered by llLoopSoundSlave, but a sound triggered by llPlaySoundSlave will play through to the end? Or have I screwed something up (likely)?
Thanks for reading.