Difference between revisions of "LlSetSoundQueueing"

From Second Life Wiki
Jump to navigation Jump to search
m
Line 12: Line 12:
*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.
*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.
*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.
|constants
|constants
|examples=
|examples=

Revision as of 23:31, 14 February 2013

Summary

Function: llSetSoundQueueing( integer queue );

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.
All Issues ~ Search JIRA for related Bugs

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

All Issues

~ Search JIRA for related Issues
   Since llSetSoundQueueing only allows two sounds to be played in queue can it be changed to allow more?

Signature

function void llSetSoundQueueing( integer queue );