OsLoopSoundSlave

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(Created)
 
m (Change See Also)
 
(6 intermediate revisions by 3 users not shown)
Line 3: Line 3:
 
|threat_level=ignored
 
|threat_level=ignored
 
|permissions=true
 
|permissions=true
|delay=None
+
|delay=0
 +
|description=Play the specified sound at the specified volume and loop it indefinitely.
 +
This sound will be set as a slave sound. The playing of a slave sound will be synchronized to the playing of the same sound declared in another prim as the master sound.<br>
 +
The sound parameter can be the UUID of a sound or the name of a sound that is in the inventory of the target prim.
 
|ossl_example=<source lang="lsl">
 
|ossl_example=<source lang="lsl">
osLoopSoundSlave(linknum, "00000000-0000-0000-0000-000000000000", volume);
+
osLoopSoundSlave(linknum, "c98100c4-6a2a-456c-a5ba-3cfdb5c14715", volume);
 
osLoopSoundSlave(linknum, "Name of sound in prim inventory", volume);
 
osLoopSoundSlave(linknum, "Name of sound in prim inventory", volume);
 
</source>
 
</source>
|description=Play the specified sound at the specified volume and loop it indefinitely.
+
<source lang="lsl">
This sound will be set as a slave sound. The playing of a slave sound will be synchronized to the playing of the same sound declared in another prim as the master sound.
+
//
 +
// osPlaySoundSlave Script Example
 +
// Author: djphil
 +
//
  
The sound parameter can be the UUID of a sound or the name of a sound that is in the inventory of the prim containing the script calling this function.
+
// Can be sound's name in object's inventory or the sound uuid
|additional_info=
+
string sound_master = "f4a0660f-5446-dea2-80b7-6482a082803c";
A prim can only have one active sound. The osLoopSoundSlave() function should refer to a different prim than the one that was defined as a master or it will remove the master sound and there will be no master sound to which the slave can be synchronized.
+
string sound_slave = "d7a9a565-a013-2a69-797d-5332baa1a947";
This function was added in 0.9.0.1
+
float volume = 1.0;
 +
integer switch;
 +
 
 +
default
 +
{
 +
    state_entry()
 +
    {
 +
        llPreloadSound(sound_master);
 +
        llPreloadSound(sound_slave);
 +
        llSay(PUBLIC_CHANNEL, "Touch to see osPlaySoundSlave usage.");
 +
    }
 +
   
 +
    touch_start(integer number)
 +
    {
 +
        if (switch = !switch)
 +
        {
 +
            osLoopSoundMaster(1, sound_master, volume);
 +
            osLoopSoundSlave(2, sound_slave, volume);
 +
        }
 +
 
 +
        else
 +
        {
 +
            osStopSound(1);
 +
            osStopSound(2);
 +
        }
 +
    }
 +
}
 +
</source>
 +
|additional_info=A prim can only have one active sound. The osLoopSoundSlave() function should refer to a different prim than the one that was defined as a master or it will remove the master sound and there will be no master sound to which the slave can be synchronized.
 +
This function was added in 0.9.0.1<br>
 +
Since 0.9.1 if target prim inventory does not contain the sound, the inventory of the prim containing the script calling this function is also checked
 
}}
 
}}
 +
== See Also ==
 +
* [[osLoopSound]]
 +
* [[osLoopSoundMaster]]
 +
* [[osLoopSoundSlave]]

Latest revision as of 19:07, 5 December 2020

osLoopSoundSlave(integer linknum, string sound, float volume)
Play the specified sound at the specified volume and loop it indefinitely.

This sound will be set as a slave sound. The playing of a slave sound will be synchronized to the playing of the same sound declared in another prim as the master sound.
The sound parameter can be the UUID of a sound or the name of a sound that is in the inventory of the target prim.

Threat Level This function does not do a threat level check
Permissions Use of this function is always allowed by default
Extra Delay 0 seconds
Example(s)
osLoopSoundSlave(linknum, "c98100c4-6a2a-456c-a5ba-3cfdb5c14715", volume);
osLoopSoundSlave(linknum, "Name of sound in prim inventory", volume);
//
// osPlaySoundSlave Script Example
// Author: djphil
//
 
// Can be sound's name in object's inventory or the sound uuid
string sound_master = "f4a0660f-5446-dea2-80b7-6482a082803c";
string sound_slave = "d7a9a565-a013-2a69-797d-5332baa1a947";
float volume = 1.0;
integer switch;
 
default
{
    state_entry()
    {
        llPreloadSound(sound_master);
        llPreloadSound(sound_slave);
        llSay(PUBLIC_CHANNEL, "Touch to see osPlaySoundSlave usage.");
    }
 
    touch_start(integer number)
    {
        if (switch = !switch)
        {
            osLoopSoundMaster(1, sound_master, volume);
            osLoopSoundSlave(2, sound_slave, volume);
        }
 
        else
        {
            osStopSound(1);
            osStopSound(2);
        }
    }
}
Notes
A prim can only have one active sound. The osLoopSoundSlave() function should refer to a different prim than the one that was defined as a master or it will remove the master sound and there will be no master sound to which the slave can be synchronized.

This function was added in 0.9.0.1
Since 0.9.1 if target prim inventory does not contain the sound, the inventory of the prim containing the script calling this function is also checked


[edit] See Also

Personal tools
General
About This Wiki