<?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="jit.catch~" module="jit" category="Jitter Audio">
	<digest>
		Transform signal data into matrices
	</digest>
	<description>
		Transforms MSP signals into a stream of jitter matrices.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			Jitter
		</metadata>
		<metadata name="tag">
			Jitter Audio
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="signal">
			<digest>
				input channel 0
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="signal">
			<digest>
				input channel 1
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="matrix">
			<digest>
				a matrix of floats representing the input signal(s)
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="1" type="matrix">
			<digest>
				a matrix of floats representing the input signal(s)
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
	</outletlist>
	<!--ARGUMENTS-->
	<objarglist>
		<objarg name="channels">
			<description>
				The number of input signals. An inlet will be created for each channel and the output matrices will contain the data for each channel on a separate plane.
			</description>
		</objarg>
	</objarglist>
	<!--MESSAGES-->
	<methodlist>
		<method name="bang">
			<arglist />
			<digest>
				Trigger output
			</digest>
			<description>
				Receiving a bang may trigger a matrix to be output, depending on the <m>mode</m> and the amount of signal data that has been received since the last bang.
			</description>
		</method>
		<method name="bufsize">
			<arglist />
			<digest>
				Set the sample buffer size
			</digest>
			<description>
				The word bufsize, followed by a floating-point number, sets the size of the buffer to be sampled.
			</description>
		</method>
		<method name="signal">
			<arglist />
			<digest>
				Capture and convert an audio signal
			</digest>
			<description>
				Signal data received in any inlet of a <o>jit.catch~</o> object will be converted to a stream of Jitter matrices and sent out the object's outlet.
			</description>
		</method>
	</methodlist>
	<jittermethodlist>
		<jittermethod name="exportattrs" />
		<jittermethod name="exportsummary" />
		<jittermethod name="getattributes" />
		<jittermethod name="getstate" />
		<jittermethod name="importattrs" />
		<jittermethod name="summary" />
	</jittermethodlist>
	<!--ATTRIBUTES-->
	<attributelist>
		<attribute name="downsample" get="1" set="1" type="int" size="1">
			<digest>
				Set downsampling factor
			</digest>
			<description>
				A downsampling factor (default=1). If downsampling value is set to n, each group of n successive samples are averaged.
			</description>
		</attribute>
		<attribute name="framesize" get="1" set="1" type="int" size="1">
			<digest>
				Output matrix width
			</digest>
			<description>
				In some modes, the width of the output matrix. (default=320)
			</description>
		</attribute>
		<attribute name="mode" get="1" set="1" type="int" size="1">
			<digest>
				Capture and output mode
			</digest>
			<description>
				Four different modes are possible: in mode 0, all data since the last output is output in a one-dimensional matrix. In mode 1 the amount of buffered data that fits into a multiple of the <at>framesize</at> is output in two dimensions; data not output will be saved for the next time. In these first two modes, every sample collected should be output once and only once. In mode 2 a <at>framesize</at> of the most recent data is output. Mode 3 causes <o>jit.catch~</o> to behave like an oscilloscope, triggering on channel <at>trigchan</at> when the signal crosses <at>triglevel</at> in the direction <at>trigdir</at>. If the threshold has not been passed for the duration of the entire internal data buffer (100 ms), jit.catch~ reverts temporarily to mode 2 behavior and outputs the most recent data until the threshold is crossed again.
			</description>
		</attribute>
		<attribute name="trigdir" get="1" set="1" type="int" size="1">
			<digest>
				Set the trigger direction
			</digest>
			<description>
				The direction to use to identify crosses in the trigger point: 0 is upwards, and 1 is downwards. (default=0)
			</description>
		</attribute>
		<attribute name="trigchan" get="1" set="1" type="int" size="1">
			<digest>
				Set the channel for trigger points
			</digest>
			<description>
				In mode 3, the channel to use for trigger points (default=0)
			</description>
		</attribute>
		<attribute name="trigthresh" get="1" set="1" type="float" size="1">
			<digest>
				Set the trigger signal level
			</digest>
			<description>
				The signal level at which to trigger a redraw in mode 3 (default=0.0)
			</description>
		</attribute>
	</attributelist>
	<jitterattributelist />
	<!--EXAMPLE-->
	<examplelist>
		<example img="jit.catch~.png" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="jit.buffer~" />
		<seealso name="jit.graph" />
		<seealso name="jit.gl.graph" />
		<seealso name="jit.peek~" />
		<seealso name="jit.poke~" />
		<seealso name="jit.release~" />
		<seealso name="peek~" />
		<seealso name="poke~" />
		<seealso module="jit" name="jitterchapter48" type="tutorial" />
	</seealsolist>
</c74object>
