<?xml version="1.0" encoding="utf-8" standalone="yes"?>

<?xml-stylesheet href="./_c74_ref.xsl" type="text/xsl"?>

<!--This is an automatically generated file. DO NOT EDIT THIS FILE DIRECTLY. Rather, use the _ref.xml files found in the 'edits' folder.-->
<c74object name="fftout~" module="msp" category="MSP FFT">
	<digest>
		Output for a patcher loaded by pfft~
	</digest>
	<description>
		The <o>fftout~</o> object provides an signal output to a <o>pfft~</o> object.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			MSP
		</metadata>
		<metadata name="tag">
			MSP FFT
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="signal">
			<digest>
				Real Output 1 of Patcher
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="signal">
			<digest>
				Imaginary Output 1 of Patcher
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<!--ARGUMENTS-->
	<objarglist>
		<objarg name="outlet-assignment" optional="0" type="int">
			<digest>
				Outlet number
			</digest>
			<description>
				Determines the outlet number in the <o>pfft~</o> which will receive the output of the <o>fftout~</o> object. Outlet assignments start at 1 for the leftmost outlet of <o>pfft~</o>. Multiple <o>fftout~</o> objects will typically have different outlet numbers.
			</description>
		</objarg>
		<objarg name="window-envelope-function" optional="1" type="symbol">
			<digest>
				Window envelope function
			</digest>
			<description>
				Tells <o>fftout~</o> which window envelope function to use when overlapping fft's on the input signal. The options are <m>square</m> (i.e. no window envelope), <m>hanning</m> (the default), and <m>hamming</m>. If the argument <m>nofft</m> is used, then the <o>fftout~</o> will echo its input signal to its output without performing a Fast Fourier transform. This allows you to output raw control signals from the <o>pfft~</o> to the parent patcher. Note that when the <m>nofft</m> option is used, overlap-adding is still being performed to create the output signal.
			</description>
		</objarg>
	</objarglist>
	<!--MESSAGES-->
	<methodlist>
		<method name="signal">
			<arglist />
			<digest>
				Function depends on inlet
			</digest>
			<description>
				In left inlet: The real part of a signal that will be inverse-transformed back into the time domain.
				<br />
				<br />
				In right inlet: The imaginary part of a signal that will be inverse-transformed back into the time domain.
				<br />
				Note that the real and imaginary inlets of <o>fftout~</o> expect only the first half of the spectrum, as output by <o>fftin~</o>. This half-spectrum is called a spectral frame in <o>pfft~</o> terminology.
			</description>
		</method>
	</methodlist>
	<!--ATTRIBUTES-->
	<!--EXAMPLE-->
	<examplelist>
		<example img="fftout~.png" caption="fftout~ converts frequency domain signal pairs into time domain signals and sends them to pfft~" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="cartopol" />
		<seealso name="cartopol~" />
		<seealso name="fft~" />
		<seealso name="fftin~" />
		<seealso name="fftinfo~" />
		<seealso name="frameaccum~" />
		<seealso name="framedelta~" />
		<seealso name="ifft~" />
		<seealso name="out" />
		<seealso name="pfft~" />
		<seealso name="poltocar" />
		<seealso name="poltocar~" />
		<seealso name="vectral~" />
		<seealso name="14_analysischapter03" module="msp" type="tutorial" />
		<seealso name="14_analysischapter04" module="msp" type="tutorial" />
	</seealsolist>
	<discussion>
		The <o>fftout~</o> object performs an inverse Fast Fourier Transform and applies a windowing function (an envelope), allowing the <o>pfft~</o> object to manage the overlap-add of the output signal windows.
	</discussion>
	<misc name="Output">
		<entry name="signal">
			<description>
				The <o>fftout~</o> object transforms frequency domain signals back into the time domain, at which point they are overlap-added and output by the corresponding outlet in the <o>pfft~</o> object in which the subpatcher is loaded. The <o>fftout~</o> object itself has no outlets.
			</description>
		</entry>
	</misc>
</c74object>
