<?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="framesnap~" module="msp" category="MSP FFT">
	<digest>
		Output an FFT frame or signal vector as a list
	</digest>
	<description>
		The <o>framesnap~</o> object is similar to <o>snapshot~</o> but outputs a list with the contents of a signal vector convenient for capturing an FFT frame when used inside a <o>pfft~</o> object.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			TEXT_HERE
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="signal">
			<digest>
				Input, bang Reports Frame
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="signal">
			<digest>
				Internal Clock Interval in ms
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="list">
			<digest>
				Output Frame as a list
			</digest>
			<description>
				When used outside of a <o>pfft~</o> object, the <o>framesnap~</o> object will output the contents of a signal vector. When used inside of a <o>pfft~</o> object, the signal vector that <o>framesnap~</o> outputs represents a spectral frame. The size of the list is dependent on the signal vector size when used outside of a <o>pfft~</o> object. When used inside of a <o>pfft~</o> object, the list size will be equal to the FFT frame size.
			</description>
		</outlet>
	</outletlist>
	<!--ARGUMENTS-->
	<objarglist>
		<objarg id="0" name="interval" type="int" optional="1">
			<digest>
				Internal sampling interval in ms
			</digest>
			<description>
				An optional number argument sets the internal sampling interval in milliseconds. If the argument is 0 or not present, <o>framesnap~</o> will not generate output automatically. In this case, you will need to send a <m>bang</m> message to output a frame of signal data.
			</description>
		</objarg>
	</objarglist>
	<!--MESSAGES-->
	<methodlist>
		<method name="bang">
			<arglist />
			<digest>
				Trigger a frame or signal vector
			</digest>
			<description>
				<m>bang</m> message produces a list containing the contents of the current signal vector.
			</description>
		</method>
		<method name="int">
			<arglist>
				<arg name="report" type="int" optional="0" />
			</arglist>
			<digest>
				Enables automatic reporting; sets input sampling interval
			</digest>
			<description>
				See <m>float</m> message below.
			</description>
		</method>
		<method name="float">
			<arglist>
				<arg name="report" type="float" optional="0" />
			</arglist>
			<digest>
				Enables automatic reporting; sets input sampling interval
			</digest>
			<description>
				(In left inlet) Sending a non-zero number to the left inlet starts the object's automatic reporting of signal values. A zero received in the left inlet stops automatic reporting.
				<br />
				(In right inlet) A number sent to the right inlet of the <o>framesnap~</o> object sets the internal sampling interval in milliseconds. If the interval is set to 0, <o>framesnap~</o> will not generate output automatically. In this case, you will need to send a <m>bang</m> message to output a frame of signal data.
			</description>
		</method>
		<method name="list">
			<arglist>
				<arg name="time" type="list" optional="0" />
			</arglist>
			<digest>
				Sets the input sampling interval
			</digest>
			<description>
				Any message that conforms to the Max time format (<m>ms</m>, <m>hh:mm:ss</m>, <m>ticks bars.beats.units</m>, <m>notevalues</m>, <m>hz</m>, or <m>samples</m>) can be used to specify the internal sampling interval used by the <o>framesnap~</o> object.
			</description>
		</method>
		<method name="anything">
			<arglist>
				<arg name="time" type="list" optional="0" />
			</arglist>
			<digest>
				Sets the input sampling interval
			</digest>
			<description>
				Any message that conforms to a Max time format message (e.g. <m>ms</m>, <m>hh:mm:ss</m>, <m>ticks bars.beats.units</m>, <m>notevalues</m>, <m>hz</m>, or <m>samples</m>,) can be used to specify the internal sampling interval used by the <o>framesnap~</o> object.
			</description>
		</method>
		<method name="sampleinterval">
			<arglist>
				<arg name="time" type="int" optional="0" />
			</arglist>
			<digest>
				Set the internal sampling interval
			</digest>
			<description>
				The word <m>sampleinterval</m>, followed by an integer, sets the internal sampling interval in milliseconds.
			</description>
		</method>
		<method name="signal">
			<arglist />
			<digest>
				Signal input
			</digest>
			<description>
				A signal connected to the <o>framesnap~</o> object's left inlet will used to output a list when the object receives a <m>bang</m> or its internal sample interval clock fires.
			</description>
		</method>
		<method name="start">
			<arglist />
			<digest>
				Start automatic reporting
			</digest>
			<description>
				The message <m>start</m> starts the <o>framesnap~</o> object's automatic output if the sample interval is non-zero. If the sample output is zero, the <m>start</m> message is equivalent to the <m>bang</m> message, causing a single signal vector output.
			</description>
		</method>
		<method name="stop">
			<arglist />
			<digest>
				Disable automatic reporting
			</digest>
			<description>
				The message <m>stop</m> stops the <o>framesnap~</o> object from automatic output if its sample interval is non-zero.
			</description>
		</method>
	</methodlist>
	<!--ATTRIBUTES-->
	<attributelist>
		<attribute name="active" get="1" set="1" type="int" size="1">
			<digest>
				Active
			</digest>
			<description>
				Enables/disables output of the <o>framesnap~</o> object.
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Active" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="interval" get="1" set="1" type="Time Value" size="1">
			<digest>
				Output Interval
			</digest>
			<description>
				Sets the output interval. The interval can be specified in any Max time format.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="symbol" size="1" value="Timing" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Output Interval" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="time" />
				<attribute name="units" get="1" set="1" type="atom" size="7" value="ms hh:mm:ss ticks bars.beats.units notevalues hz samples" />
			</attributelist>
		</attribute>
	</attributelist>
	<!--EXAMPLE-->
	<examplelist>
		<example caption="" img="" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="cartopol" />
		<seealso name="cartopol~" />
		<seealso name="fft~" />
		<seealso name="fftin~" />
		<seealso name="fftinfo~" />
		<seealso name="fftout~" />
		<seealso name="frame~" />
		<seealso name="frameaccum~" />
		<seealso name="framedelta~" />
		<seealso name="ifft~" />
		<seealso name="in" />
		<seealso name="out" />
		<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>
</c74object>
