Difference between revisions of "LlPlaySoundSlave"

From Second Life Wiki
Jump to navigation Jump to search
 
(Added note about the effect of sound queueing on this function.)
 
(16 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{LSLFunctionAll|func_id=90|func_sleep=0.0|func_energy=10.0|func=llPlaySoundSlave|p1_type=string|p1_name=sound|p2_type=float|p2_name=volume|func_footnote=plays attached sound once at volume (0.0 - 1.0), synced to next loop of most audible sync master|return_text|spec|caveats|examples|helpers|related|also|notes}}[[Category:LSL_Functions]][[Category:LSL_Stub]]
{{LSL_Function
|inject-2={{Issues/VWR-1574}}{{LSL_Function/inventory|sound|uuid=true|type=sound|volume=volume}}
|func_id=90|func_sleep=0.0|func_energy=10.0
|func=llPlaySoundSlave
|p1_type=string|p1_name=sound
|p2_type=float|p2_name=volume
|func_footnote
|func_desc=Plays attached {{LSLP|sound}} once at {{LSLP|volume}}, synced to next loop of most audible sync master declared by [[llLoopSoundMaster]].
|return_text
|spec
|caveats=
* As an object can only have a single active sound, this function should be called from a different prim than the one that defined a sync master, otherwise it will remove the master sound, and no sound will be available to sync-to.
* This function is affected by the [[llSetSoundQueueing|Sound Queueing]] property of the parent prim - this means it's possible to queue a slave sound prior to starting a master, without having to use more than one prim as an emitter. (See example on [[llLoopSoundMaster]]).
|constants
|examples
|helpers
|also_functions=
{{LSL DefineRow||[[llPlaySound]]|3=Plays a sound {{HoverText|attached|The sound moves with the prim}} once.}}
{{LSL DefineRow||[[llLoopSound]]|3=Plays a sound {{HoverText|attached|The sound moves with the prim}} indefinitely.}}
{{LSL DefineRow||[[llLoopSoundMaster]]}}
{{LSL DefineRow||[[llLoopSoundSlave]]}}
{{LSL DefineRow||[[llTriggerSound]]|3=Plays a sound {{HoverText|unattached|The sound does not move with the prim}}.}}
{{LSL DefineRow||[[llTriggerSoundLimited]]}}
{{LSL DefineRow||[[llSetSoundQueueing]]}}
|also_events
|also_tests
|also_articles
|notes
|sort=PlaySoundSlave
|cat1=Sound
|cat2
|cat3
|cat4
}}

Latest revision as of 14:03, 22 April 2022

Summary

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

Plays attached sound once at volume, synced to next loop of most audible sync master declared by llLoopSoundMaster.

• 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.
  • As an object can only have a single active sound, this function should be called from a different prim than the one that defined a sync master, otherwise it will remove the master sound, and no sound will be available to sync-to.
  • This function is affected by the Sound Queueing property of the parent prim - this means it's possible to queue a slave sound prior to starting a master, without having to use more than one prim as an emitter. (See example on llLoopSoundMaster).

Examples

See Also

Functions

•  llPlaySound Plays a sound attached once.
•  llLoopSound Plays a sound attached indefinitely.
•  llLoopSoundMaster
•  llLoopSoundSlave
•  llTriggerSound Plays a sound unattached.
•  llTriggerSoundLimited
•  llSetSoundQueueing

Deep Notes

Signature

function void llPlaySoundSlave( string sound, float volume );