llSetSoundQueueing

From Second Life Wiki
Revision as of 23:31, 14 February 2013 by Nelson Jenkins (talk | contribs)
Jump to navigation Jump to search

Summary

Function: llSetSoundQueueing( integer queue );
0.0 Forced Delay
10.0 Energy

Set whether attached sounds wait for the current sound to finish. If queue is TRUE, queuing is enabled, if FALSE queuing is disabled. Sound queuing is disabled by default.

• integer queue boolean, sound queuing: TRUE enables, FALSE disables (default)

Caveats

  • It appears that only two sounds can be queued per prim. SVC-4260
  • Sound queuing is a property of the prim, not the script. It can be activated and deactivated by any script in the prim and survives script reset, rerez and script removal.
  • If used to make smooth transitions using slave/master sounds the sounds tend to go out of sync.
  • There is a very small (but clearly audible) gap between sounds which causes a clicking noise if used with sounds designed to be perfectly sequential. In slow regions, this is the best you will get; however, in lag-free regions, it may be better to use a timer or sleep set to ~0.05 seconds less than the first sound's length and simply interrupt it with another llPlaySound.

Examples

<lsl> default {

   state_entry()
   {
       llPreloadSound("SoundName1");//This loads the sounds into all in range viewers and cuts delay between sounds.
       llPreloadSound("SoundName2");//All sound parameters can be the name of a sound in the prim's inventory or a UUID of a sound");
   }
   touch_start(integer detected)
   {
       llSetSoundQueueing(TRUE);//Set to TRUE for queueing and SoundName2 plays after the SoundName1 has ended.
       //Set to FALSE only the second will be played since the prim has only one sound emmiter and the second was called last.
       //Can be set anywhere withing the script (if within an event it will activate when the event is triggered.
       llPlaySound("SoundName1", 1.0);
       llPlaySound("SoundName2", 1.0);
   }

}

</lsl>

See Also

Functions

•  llLoopSound
•  llLoopSoundSlave Plays a sound attached.

Deep Notes

Signature

function void llSetSoundQueueing( integer queue );