Class reference
AudioStreamRandomizer
Inherits AudioStream
Wraps a pool of audio streams with pitch and volume shifting.
Description
Picks a random AudioStream from the pool, depending on the playback mode, and applies random pitch shifting and volume shifting during playback.
Properties
int playback_mode = 0
int playback_mode = 0Controls how this AudioStreamRandomizer picks which AudioStream to play next.
float random_pitch = 1.0
float random_pitch = 1.0The intensity of random pitch variation. A value of 1 means no variation.
float random_volume_offset_db = 0.0
float random_volume_offset_db = 0.0The intensity of random volume variation. A value of 0 means no variation.
int streams_count = 0
int streams_count = 0The number of streams in the stream pool.
Methods
void add_stream(int index, AudioStream stream, float weight = 1.0)
int index, AudioStream stream, float weight = 1.0)Insert a stream at the specified index. If the index is less than zero, the insertion occurs at the end of the underlying pool.
AudioStream get_stream(int index) const
AudioStream get_stream(int index) constReturns the stream at the specified index.
float get_stream_probability_weight(int index) const
float get_stream_probability_weight(int index) constReturns the probability weight associated with the stream at the given index.
void move_stream(int index_from, int index_to)
int index_from, int index_to)Move a stream from one index to another.
void remove_stream(int index)
int index)Remove the stream at the specified index.
void set_stream(int index, AudioStream stream)
int index, AudioStream stream)Set the AudioStream at the specified index.
void set_stream_probability_weight(int index, float weight)
int index, float weight)Set the probability weight of the stream at the specified index. The higher this value, the more likely that the randomizer will choose this stream during random playback modes.
Constants
PLAYBACK_RANDOM_NO_REPEATS = 0
Pick a stream at random according to the probability weights chosen for each stream, but avoid playing the same stream twice in a row whenever possible. If only 1 sound is present in the pool, the same sound will always play, effectively allowing repeats to occur.
PLAYBACK_RANDOM = 1
Pick a stream at random according to the probability weights chosen for each stream. If only 1 sound is present in the pool, the same sound will always play.
PLAYBACK_SEQUENTIAL = 2
Play streams in the order they appear in the stream pool. If only 1 sound is present in the pool, the same sound will always play.