llLoopSoundMaster

From Second Life Wiki
Revision as of 12:56, 1 April 2008 by Uzume Grigorovich (talk | contribs) (lsl code tagging)
Jump to navigation Jump to search

Summary

Function: llLoopSoundMaster( string sound, float volume );
0.0 Forced Delay
10.0 Energy

Plays attached sound looping at volume, declares it a sync master.

• string sound a sound in the inventory of the prim this script is in or a UUID of a sound
• float volume between 0.0 (silent) and 1.0 (loud) (0.0 <= volume <= 1.0)

Caveats

  • If sound is missing from the prim's inventory and it is not a UUID or it is not a sound then an error is shouted on DEBUG_CHANNEL.
  • If sound is a UUID then there are no new asset permissions consequences for the object.
    • The resulting object develops no new usage restrictions that might have occurred if the asset had been placed in the prims inventory.

Examples

<lsl> // for an uploaded .wav file called "MasterLoop" in inventory llLoopSoundMaster("MasterLoop", 1.0); </lsl> The script below can be added to an object, to toggle a SoundMaster on and off. Note that the script requires a sound in inventory called MasterLoop, or you need to change the argument in the function for it to work. This script is a slight modification to the script Toggle_States, adding only the llLoopSoundMaster and llStopSound to make it work. <lsl> default {

   state_entry() {
       // run this code when entering the default state
       // displays red "OFF" as floating text above the prim
       llSetText("OFF", <1,0,0>, 1.0);
   }
   touch_start(integer num_detected) {
       // when touched, switch to state named 'on'
       state on;
   }

}

state on {

   state_entry() {
       // run this code when entering state 'on'
       // displays green "ON" as floating text above the prim
       llSetText("ON", <0,1,0>, 1.0);
       llLoopSoundMaster("MasterLoop", 1.0);
   }
   touch_start(integer num_detected) {
       // when touched, stop sound & switch back to the default state
       llStopSound();
       state default;
   }

}

</lsl>

Deep Notes

Signature

function void llLoopSoundMaster( string sound, float volume );