<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectDelay" inherits="AudioEffect" api_type="core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
	<brief_description>
		Adds a delay audio effect to an audio bus.
		Emulates an echo by playing the input audio back after a period of time.
	</brief_description>
	<description>
		A "delay" effect plays the input audio signal back after a period of time. Each repetition is called a "delay tap" or simply "tap". Delay taps may be played back multiple times to create the sound of a repeating, decaying echo. Delay effects range from a subtle echo to a pronounced blending of previous sounds with new sounds.
		See also [AudioEffectReverb] for a blurry, continuous echo.
	</description>
	<tutorials>
		<link title="Audio buses">$DOCS_URL/tutorials/audio/audio_buses.html</link>
		<link title="Audio effects">$DOCS_URL/tutorials/audio/audio_effects.html</link>
	</tutorials>
	<members>
		<member name="dry" type="float" setter="set_dry" getter="get_dry" default="1.0">
			The volume ratio of the original audio. Value can range from 0 to 1.
		</member>
		<member name="feedback_active" type="bool" setter="set_feedback_active" getter="is_feedback_active" default="false">
			If [code]true[/code], feedback is enabled, repeating taps after they are played.
		</member>
		<member name="feedback_delay_ms" type="float" setter="set_feedback_delay_ms" getter="get_feedback_delay_ms" default="340.0">
			Feedback delay time in milliseconds. Value can range from 0 to 1500.
		</member>
		<member name="feedback_level_db" type="float" setter="set_feedback_level_db" getter="get_feedback_level_db" default="-6.0">
			Gain for feedback, in dB. Value can range from -60 to 0.
		</member>
		<member name="feedback_lowpass" type="float" setter="set_feedback_lowpass" getter="get_feedback_lowpass" default="16000.0">
			Low-pass filter for feedback, in Hz. Frequencies above this value are filtered out. Value can range from 1 to 16000.
		</member>
		<member name="tap1_active" type="bool" setter="set_tap1_active" getter="is_tap1_active" default="true">
			If [code]true[/code], the first tap will be enabled.
		</member>
		<member name="tap1_delay_ms" type="float" setter="set_tap1_delay_ms" getter="get_tap1_delay_ms" default="250.0">
			First tap delay time in milliseconds, compared to the original audio. Value can range from 0 to 1500.
		</member>
		<member name="tap1_level_db" type="float" setter="set_tap1_level_db" getter="get_tap1_level_db" default="-6.0">
			Gain for the first tap, in dB. Value can range from -60 to 0.
		</member>
		<member name="tap1_pan" type="float" setter="set_tap1_pan" getter="get_tap1_pan" default="0.2">
			Pan position for the first tap. Negative values pan the sound to the left, positive pan to the right. Value can range from -1 to 1.
		</member>
		<member name="tap2_active" type="bool" setter="set_tap2_active" getter="is_tap2_active" default="true">
			If [code]true[/code], the second tap will be enabled.
		</member>
		<member name="tap2_delay_ms" type="float" setter="set_tap2_delay_ms" getter="get_tap2_delay_ms" default="500.0">
			Second tap delay time in milliseconds, compared to the original audio. Value can range from 0 to 1500.
		</member>
		<member name="tap2_level_db" type="float" setter="set_tap2_level_db" getter="get_tap2_level_db" default="-12.0">
			Gain for the second tap, in dB. Value can range from -60 to 0.
		</member>
		<member name="tap2_pan" type="float" setter="set_tap2_pan" getter="get_tap2_pan" default="-0.4">
			Pan position for the second tap. Negative values pan the sound to the left, positive pan to the right. Value can range from -1 to 1.
		</member>
	</members>
</class>
