<?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.pix" module="jit" category="Jitter Code Generation">
	<digest>
		Generates Jitter mop pixel processing objects from a patcher.
	</digest>
	<description>
		The <o>jit.pix</o> object generates new Jitter mop objects from a patcher specifically for pixel processing. The patcher describes how each cell of a <o>jit.matrix</o> should be processed. <o>jit.pix</o> incorporates some of the same functionality as <o>jit.expr</o> with the additional capability that it can sample input <o>jit.matrix</o> objects arbitrarily. <o>jit.pix</o> is exactly the same as <o>jit.gl.pix</o> except that all processing happens on the CPU as with standard Jitter mop objets. <o>jit.pix</o> always outputs a 4-plane matrix.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			TEXT_HERE
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="INLET_TYPE">
			<digest>
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="INLET_TYPE">
			<digest>
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="OUTLET_TYPE">
			<digest>
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="1" type="OUTLET_TYPE">
			<digest>
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
	</outletlist>
	<!--MOP-->
	<mop matrixinputcount="-1" matrixoutputcount="1">
		<matrixoutput name="out" planelink="1" typelink="1" dimlink="1" minplanecount="1" maxplanecount="32" mindimcount="1" maxdimcount="32">
			<types>
				char long float32 float64
			</types>
		</matrixoutput>
	</mop>
	<!--MESSAGES-->
	<methodlist>
		<method name="anything">
			<arglist />
			<digest>
				TEXT_HERE
			</digest>
			<description>
				TEXT_HERE
			</description>
		</method>
		<method name="(drag)">
			<digest>
				TEXT_HERE
			</digest>
			<description>
				TEXT_HERE
			</description>
		</method>
		<method name="(mouse)">
			<digest>
				Open the Gen patcher
			</digest>
			<description>
				TEXT_HERE
			</description>
		</method>
		<method name="compile">
			<arglist />
			<digest>
				Compile the Gen patcher
			</digest>
			<description>
				TEXT_HERE
			</description>
		</method>
		<method name="destroy">
			<arglist />
			<digest>
				Destroy the currently compiled Gen patcher
			</digest>
			<description>
				TEXT_HERE
			</description>
		</method>
		<method name="jit.pix">
			<arglist />
			<digest>
				TEXT_HERE
			</digest>
			<description>
				TEXT_HERE
			</description>
		</method>
		<method name="open">
			<arglist />
			<digest>
				Open the Gen patcher
			</digest>
			<description>
				TEXT_HERE
			</description>
		</method>
		<method name="param">
			<arglist />
			<digest>
				Set a parameter of the gen patcher.
			</digest>
			<description>
				Set a parameter of the gen patcher.
			</description>
		</method>
		<method name="wclose">
			<arglist />
			<digest>
				Close the Gen patcher
			</digest>
			<description>
				TEXT_HERE
			</description>
		</method>
	</methodlist>
	<jittermethodlist>
		<jittermethod name="bang" />
		<jittermethod name="clear" />
		<jittermethod name="exportattrs" />
		<jittermethod name="exportsummary" />
		<jittermethod name="getattributes" />
		<jittermethod name="getstate" />
		<jittermethod name="jit_matrix" />
		<jittermethod name="importattrs" />
		<jittermethod name="outputmatrix" />
		<jittermethod name="summary" />
	</jittermethodlist>
	<!--ATTRIBUTES-->
	<attributelist>
		<attribute name="dirty" get="1" set="0" type="int" size="1">
			<digest>
				Gen patcher dirty flag
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist />
		</attribute>
		<attribute name="gen" get="1" set="1" type="symbol" size="1">
			<digest>
				Gen patcher
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="default" get="1" set="1" type="symbol" size="1" value="" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Gen" />
			</attributelist>
		</attribute>
		<attribute name="precision" get="1" set="1" type="symbol" size="1">
			<digest>
				Kernel precision
			</digest>
			<description>
				Gen patcher kernel precision
			</description>
			<attributelist>
				<attribute name="default" get="1" set="1" type="symbol" size="1" value="auto" />
				<attribute name="enumvals" get="1" set="1" type="atom" size="4">
					<enumlist>
						<enum name="auto">
							<digest>
								Auto-choose precision
							</digest>
							<description>
								Automatic precision mode will pick a precision based on the type of the input matrices.
							</description>
							<discussion>
								For a givent matrix input type, the precision chosen uses the following mapping:
								<ul>
									<li>
										char -&gt; fixed
									</li>
									<li>
										long -&gt; float64
									</li>
									<li>
										float32 -&gt; float32
									</li>
									<li>
										float64 -&gt; float64
									</li>
								</ul>
							</discussion>
						</enum>
						<enum name="fixed">
							<digest>
								Fixed point precision
							</digest>
							<description>
								Fixed point precision uses fixed point arithmetic, a technique for performing floating point operations with integers.
							</description>
						</enum>
						<enum name="float32">
							<digest>
								Floating point precisions (32-bit)
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="float64">
							<digest>
								Floating point precisions (64-bit)
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
					</enumlist>
				</attribute>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Precision" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="enum" />
			</attributelist>
		</attribute>
		<attribute name="t" get="1" set="1" type="symbol" size="1">
			<digest>
				Gen patcher title
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist />
		</attribute>
		<attribute name="title" get="1" set="1" type="symbol" size="1">
			<digest>
				Gen patcher title
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Title" />
			</attributelist>
		</attribute>
	</attributelist>
	<jitterattributelist>
		<jitterattribute name="outputmode" />
		<jitterattribute name="adapt" />
		<jitterattribute name="out_name" />
		<jitterattribute name="type" />
		<jitterattribute name="dim" />
		<jitterattribute name="planecount" />
	</jitterattributelist>
	<!--EXAMPLE-->
	<examplelist>
		<example img="jit.pix.png" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealsolist>
			<seealso name="jit.gen" />
			<seealso name="jit.gl.pix" />
			<seealso name="jit.expr" />
			<seealso name="jit.matrix" />
			<seealso name="gen~" />
			<seealso module="gen" name="gen_overview" type="vignette" />
			<seealso module="gen" name="gen_genexpr" type="vignette" />
			<seealso module="gen" name="gen_common_operators" type="vignette" />
			<seealso module="gen" name="gen_jitter_operators" type="vignette" />
		</seealsolist>
	</seealsolist>
</c74object>
