35d788cff5
This makes setting up sounds for random pitch/volume faster, as you don't have to change the mode from Random (Avoid Repeats) to Random anymore if you only care about randomizing pitch/volume but want to prevent a warning message from appearing on every playback.
90 lines
4 KiB
XML
90 lines
4 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<class name="AudioStreamRandomizer" inherits="AudioStream" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
|
|
<brief_description>
|
|
Wraps a pool of audio streams with pitch and volume shifting.
|
|
</brief_description>
|
|
<description>
|
|
Picks a random AudioStream from the pool, depending on the playback mode, and applies random pitch shifting and volume shifting during playback.
|
|
</description>
|
|
<tutorials>
|
|
</tutorials>
|
|
<methods>
|
|
<method name="add_stream">
|
|
<return type="void" />
|
|
<param index="0" name="index" type="int" />
|
|
<description>
|
|
Insert a stream at the specified index.
|
|
</description>
|
|
</method>
|
|
<method name="get_stream" qualifiers="const">
|
|
<return type="AudioStream" />
|
|
<param index="0" name="index" type="int" />
|
|
<description>
|
|
Returns the stream at the specified index.
|
|
</description>
|
|
</method>
|
|
<method name="get_stream_probability_weight" qualifiers="const">
|
|
<return type="float" />
|
|
<param index="0" name="index" type="int" />
|
|
<description>
|
|
Returns the probability weight associated with the stream at the given index.
|
|
</description>
|
|
</method>
|
|
<method name="move_stream">
|
|
<return type="void" />
|
|
<param index="0" name="index_from" type="int" />
|
|
<param index="1" name="index_to" type="int" />
|
|
<description>
|
|
Move a stream from one index to another.
|
|
</description>
|
|
</method>
|
|
<method name="remove_stream">
|
|
<return type="void" />
|
|
<param index="0" name="index" type="int" />
|
|
<description>
|
|
Remove the stream at the specified index.
|
|
</description>
|
|
</method>
|
|
<method name="set_stream">
|
|
<return type="void" />
|
|
<param index="0" name="index" type="int" />
|
|
<param index="1" name="stream" type="AudioStream" />
|
|
<description>
|
|
Set the AudioStream at the specified index.
|
|
</description>
|
|
</method>
|
|
<method name="set_stream_probability_weight">
|
|
<return type="void" />
|
|
<param index="0" name="index" type="int" />
|
|
<param index="1" name="weight" type="float" />
|
|
<description>
|
|
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.
|
|
</description>
|
|
</method>
|
|
</methods>
|
|
<members>
|
|
<member name="playback_mode" type="int" setter="set_playback_mode" getter="get_playback_mode" enum="AudioStreamRandomizer.PlaybackMode" default="0">
|
|
Controls how this AudioStreamRandomizer picks which AudioStream to play next.
|
|
</member>
|
|
<member name="random_pitch" type="float" setter="set_random_pitch" getter="get_random_pitch" default="1.1">
|
|
The intensity of random pitch variation. A value of 1 means no variation.
|
|
</member>
|
|
<member name="random_volume_offset_db" type="float" setter="set_random_volume_offset_db" getter="get_random_volume_offset_db" default="5.0">
|
|
The intensity of random volume variation. A value of 0 means no variation.
|
|
</member>
|
|
<member name="streams_count" type="int" setter="set_streams_count" getter="get_streams_count" default="0">
|
|
The number of streams in the stream pool.
|
|
</member>
|
|
</members>
|
|
<constants>
|
|
<constant name="PLAYBACK_RANDOM_NO_REPEATS" value="0" enum="PlaybackMode">
|
|
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.
|
|
</constant>
|
|
<constant name="PLAYBACK_RANDOM" value="1" enum="PlaybackMode">
|
|
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.
|
|
</constant>
|
|
<constant name="PLAYBACK_SEQUENTIAL" value="2" enum="PlaybackMode">
|
|
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.
|
|
</constant>
|
|
</constants>
|
|
</class>
|