Oolite JavaScript Reference: SoundSource

From Elite Wiki

Prototype: Object
Subtypes: none

A SoundSource is an abstract object that can play a sound. A given SoundSource can only be playing one sound at a particular time.

Sound Expressions

Several SoundSource properties and methods can take either Sound object, or a string representing a file name or a customsounds.plist key.


new SoundSource : SoundSource

Creates a new SoundSource that can be altered. e.g.:

var mySound = new SoundSource;
mySound.sound = "trumblesqueal.ogg";
mySound.loop = true;



isPlaying : Boolean (read-only)

true if the sound is currently playing, false otherwise.


loop : Boolean (read/write)

true if the sound source should loop its sound, false otherwise. Changing this while a sound is playing does not affect the currently-playing sound; it only takes effect when the sound source starts playing.

See Also: repeatCount


This property was added in Oolite test release 1.79.

position : Vector (read/write)

The position of the sound source relative to the listener. The listener is always positioned at the origin facing along the Z axis. Therefore if the sound relates to something outside the spaceship, it will need to be positioned relatively to the player.


This property was added in Oolite test release 1.79.

positional : Boolean (read/write)

Whether the SoundSource is positional at all. Non-positional sound sources are "positioned" at the origin.

Note that a SoundSource playing a sound with stereo information built-in is effectively non-positional.


repeatCount : Integer (read/write)

The number of times the sound should repeat, if loop is false, ranging from 1 to 100. Unlike loop, this can usefully be changed while the sound is playing, and repeatCount will be decremented each time the sound is repeated.

See Also: loop


sound : soundExpression (read/write)

The sound to be played by this sound source. You can assign either a Sound or a string to this property, but when you read it it will always be a Sound object (or null).


This property was added in Oolite test release 1.79.

volume : Number (read/write)

The relative volume of the sound source, between 0.0 and 1.0, with 1.0 being the loudest possible and the default. This is further modified of course by the global volume set by the player in their preferences.



function play([count : Integer])

Start playing sound. If count is specified, repeatCount is set to count first. If the sound source is currently playing a sound, it is stopped.

See Also: playOrRepeat(), playSound()


function playOrRepeat()

If a sound is not playing, starts playing. If a sound is playing and is not looping, increases repeatCount by one.

See Also: play()


function playSound(sound : soundExpression [, count : Integer])

Set sound (and, optionally, repeatCount) and start playing.

See Also: play()


function stop()

Stop playing sound.