a40fe16866
Implements a way for audio stream playback to be configured via parameters directly in the edited AudioStreamPlayer[2D/3D]. Currently, configuring the playback stream is not possible (or is sometimes hacky as the user has to obtain the currently played stream, which is not always immediately available). This PR only implements this new feature to control looping in stream playback instances (a commonly requested feature, which was lost in the transition from Godot 2 to Godot 3). But the idea is that it can do a lot more: * If effects are bundled to the stream, control per playback instance parameters such as cutoff or resoance, or any other exposed effect parameter per playback instance. * For the upcoming interactive music PR (#64488), this exposes an easy way to change the active clip, which was not possible before. * For the upcoming parametrizable audio support (https://github.com/godotengine/godot-proposals/issues/3394) this allows editing and animating audio graph parameters. In any case, this PR is required to complete #64488. Update modules/vorbis/audio_stream_ogg_vorbis.h Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com> Update modules/minimp3/audio_stream_mp3.h Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com> Update modules/minimp3/audio_stream_mp3.h Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com> Update modules/vorbis/audio_stream_ogg_vorbis.h Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com> Update doc/classes/AudioStream.xml Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
78 lines
3.1 KiB
XML
78 lines
3.1 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<class name="AudioStream" inherits="Resource" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
|
|
<brief_description>
|
|
Base class for audio streams.
|
|
</brief_description>
|
|
<description>
|
|
Base class for audio streams. Audio streams are used for sound effects and music playback, and support WAV (via [AudioStreamWAV]) and Ogg (via [AudioStreamOggVorbis]) file formats.
|
|
</description>
|
|
<tutorials>
|
|
<link title="Audio streams">$DOCS_URL/tutorials/audio/audio_streams.html</link>
|
|
<link title="Audio Generator Demo">https://godotengine.org/asset-library/asset/526</link>
|
|
<link title="Audio Mic Record Demo">https://godotengine.org/asset-library/asset/527</link>
|
|
<link title="Audio Spectrum Demo">https://godotengine.org/asset-library/asset/528</link>
|
|
</tutorials>
|
|
<methods>
|
|
<method name="_get_beat_count" qualifiers="virtual const">
|
|
<return type="int" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="_get_bpm" qualifiers="virtual const">
|
|
<return type="float" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="_get_length" qualifiers="virtual const">
|
|
<return type="float" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="_get_parameter_list" qualifiers="virtual const">
|
|
<return type="Dictionary[]" />
|
|
<description>
|
|
Return the controllable parameters of this stream. This array contains dictionaries with a property info description format (see [method Object.get_property_list]). Additionally, the default value for this parameter must be added tho each dictionary in "default_value" field.
|
|
</description>
|
|
</method>
|
|
<method name="_get_stream_name" qualifiers="virtual const">
|
|
<return type="String" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="_instantiate_playback" qualifiers="virtual const">
|
|
<return type="AudioStreamPlayback" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="_is_monophonic" qualifiers="virtual const">
|
|
<return type="bool" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="get_length" qualifiers="const">
|
|
<return type="float" />
|
|
<description>
|
|
Returns the length of the audio stream in seconds.
|
|
</description>
|
|
</method>
|
|
<method name="instantiate_playback">
|
|
<return type="AudioStreamPlayback" />
|
|
<description>
|
|
Returns an AudioStreamPlayback. Useful for when you want to extend [method _instantiate_playback] but call [method instantiate_playback] from an internally held AudioStream subresource. An example of this can be found in the source files for [code]AudioStreamRandomPitch::instantiate_playback[/code].
|
|
</description>
|
|
</method>
|
|
<method name="is_monophonic" qualifiers="const">
|
|
<return type="bool" />
|
|
<description>
|
|
Returns true if this audio stream only supports monophonic playback, or false if the audio stream supports polyphony.
|
|
</description>
|
|
</method>
|
|
</methods>
|
|
<signals>
|
|
<signal name="parameter_list_changed">
|
|
<description>
|
|
Signal to be emitted to notify when the parameter list changed.
|
|
</description>
|
|
</signal>
|
|
</signals>
|
|
</class>
|