Difference between revisions of "LlLoopSoundMaster"

From Second Life Wiki
Jump to navigation Jump to search
(added a more complicated (but more useful) usage example based on the Toggle States script)
Line 10: Line 10:
|caveats
|caveats
|constants
|constants
|examples
|examples=<pre>// for an uploaded .wav file called "MasterLoop" in inventory
llLoopSoundMaster("MasterLoop", 1.0);</pre>
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.
<pre>
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;
    }
}
</pre>
|helpers
|helpers
|also_functions
|also_functions

Revision as of 19:58, 17 August 2007

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

// for an uploaded .wav file called "MasterLoop" in inventory
llLoopSoundMaster("MasterLoop", 1.0);

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.

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;
    }
}

Deep Notes

Signature

function void llLoopSoundMaster( string sound, float volume );