OsLoopSoundSlave
From OpenSimulator
(Difference between revisions)
m (Change See Also) |
|||
(5 intermediate revisions by 3 users not shown) | |||
Line 3: | Line 3: | ||
|threat_level=ignored | |threat_level=ignored | ||
|permissions=true | |permissions=true | ||
− | |delay= | + | |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, "c98100c4-6a2a-456c-a5ba-3cfdb5c14715", 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> | ||
− | + | <source lang="lsl"> | |
− | + | // | |
+ | // osPlaySoundSlave Script Example | ||
+ | // Author: djphil | ||
+ | // | ||
− | + | // 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 | 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. | |
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 |
[edit] See Also
- osLoopSound
- osLoopSoundMaster
- osLoopSoundSlave