<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioStreamGeneratorPlayback" inherits="AudioStreamPlaybackResampled" version="3.5">
	<brief_description>
		Plays back audio generated using [AudioStreamGenerator].
	</brief_description>
	<description>
		This class is meant to be used with [AudioStreamGenerator] to play back the generated audio in real-time.
	</description>
	<tutorials>
		<link title="Audio Generator Demo">https://godotengine.org/asset-library/asset/526</link>
		<link title="https://godotengine.org/article/godot-32-will-get-new-audio-features">Godot 3.2 will get new audio features</link>
	</tutorials>
	<methods>
		<method name="can_push_buffer" qualifiers="const">
			<return type="bool" />
			<argument index="0" name="amount" type="int" />
			<description>
				Returns [code]true[/code] if a buffer of the size [code]amount[/code] can be pushed to the audio sample data buffer without overflowing it, [code]false[/code] otherwise.
			</description>
		</method>
		<method name="clear_buffer">
			<return type="void" />
			<description>
				Clears the audio sample data buffer.
			</description>
		</method>
		<method name="get_frames_available" qualifiers="const">
			<return type="int" />
			<description>
				Returns the number of audio data frames left to play. If this returned number reaches [code]0[/code], the audio will stop playing until frames are added again. Therefore, make sure your script can always generate and push new audio frames fast enough to avoid audio cracking.
			</description>
		</method>
		<method name="get_skips" qualifiers="const">
			<return type="int" />
			<description>
			</description>
		</method>
		<method name="push_buffer">
			<return type="bool" />
			<argument index="0" name="frames" type="PoolVector2Array" />
			<description>
				Pushes several audio data frames to the buffer. This is usually more efficient than [method push_frame] in C# and compiled languages via GDNative, but [method push_buffer] may be [i]less[/i] efficient in GDScript.
			</description>
		</method>
		<method name="push_frame">
			<return type="bool" />
			<argument index="0" name="frame" type="Vector2" />
			<description>
				Pushes a single audio data frame to the buffer. This is usually less efficient than [method push_buffer] in C# and compiled languages via GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>