Sound Protocol

= Introduction =

Unfortunately, this section is incomplete and will likely remain so for quite some time.

= General = Uploaded sounds must be in 16 bit PCM WAV format at 44.1KHz mono. They cannot be longer than 10 seconds.

When queueing is enabled (via llSetSoundQueueing, only two sounds are meant to be queued at once. No queueing is currently implemented in OpenSimulator.

= Viewer <-> Simulator protocol =

PreloadSoundPacket
Simulator -> Viewer. Asks the viewer to preload a sound so there's no delay when it's played.

AttachedSoundPacket
Simulator -> Viewer. Asks the viewer to play a sound that is attached to an object (i.e. it moves with the object).

SoundTriggerPacket
Viewer -> Simulator. Sent by viewer to simulator when "play inworld" option is triggered.

Simulator -> Viewer. Asks the viewer to play a sound that is not attached to an object (i.e. if the object moves the sound stays where it is). For instance, this is sent back to all viewers when a viewer has manually triggered an inworld play.

AttachedSoundGainChangePacket
Simulator -> Viewer. Change the gain of sounds attached to a given object.