<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioStreamPlaylist" inherits="AudioStream" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../doc/class.xsd">
<brief_description>
[AudioStream] that includes sub-streams and plays them back like a playlist.
</brief_description>
<description>
</description>
<tutorials>
</tutorials>
<methods>
<method name="get_bpm" qualifiers="const">
<return type="float" />
<description>
Returns the BPM of the playlist, which can vary depending on the clip being played.
</description>
</method>
<method name="get_list_stream" qualifiers="const">
<return type="AudioStream" />
<param index="0" name="stream_index" type="int" />
<description>
Returns the stream at playback position index.
</description>
</method>
<method name="set_list_stream">
<return type="void" />
<param index="0" name="stream_index" type="int" />
<param index="1" name="audio_stream" type="AudioStream" />
<description>
Sets the stream at playback position index.
</description>
</method>
</methods>
<members>
<member name="fade_time" type="float" setter="set_fade_time" getter="get_fade_time" default="0.3">
Fade time used when a stream ends, when going to the next one. Streams are expected to have an extra bit of audio after the end to help with fading.
</member>
<member name="loop" type="bool" setter="set_loop" getter="has_loop" default="true">
If [code]true[/code], the playlist will loop, otherwise the playlist will end when the last stream is finished.
</member>
<member name="shuffle" type="bool" setter="set_shuffle" getter="get_shuffle" default="false">
If [code]true[/code], the playlist will shuffle each time playback starts and each time it loops.
</member>
<member name="stream_count" type="int" setter="set_stream_count" getter="get_stream_count" default="0">
Amount of streams in the playlist.
</member>
</members>
<constants>
<constant name="MAX_STREAMS" value="64">
Maximum amount of streams supported in the playlist.
</constant>
</constants>
</class>