virtualx-engine/modules/interactive_music/doc_classes/AudioStreamPlaylist.xml
Juan Linietsky 43b78cd2ad Add interactive music support
This PR adds 3 types of audio streams used for interactive music support.

* AudioStreamInteractive: Allows setting several sub-streams and transition between them with many options.
* AudioStreamPlaylist: Allows sequential or shuffled playback of a list of streams.
* AudioStreamSynchronized: Allows synchronous playback of several streams, the volume of each can be controlled.

Theese three stream types can be combined to create complex, layered interactive music and transitions between them, similar to software such as WWise.
2024-03-12 21:54:59 +01:00

52 lines
2 KiB
XML

<?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 playslit.
</brief_description>
<description>
</description>
<tutorials>
</tutorials>
<methods>
<method name="get_bpm" qualifiers="const">
<return type="float" />
<description>
Return 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>
Get 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>
Set 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 true, the playlist will loop, otherwise the playlist when end when the last stream is played.
</member>
<member name="shuffle" type="bool" setter="set_shuffle" getter="get_shuffle" default="false">
Shuffle the playlist. Streams are played in random order.
</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>