<?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.multiplex" module="jit" category="Jitter Data">
	<digest>
		Multiplex (interleave) two matrices into one matrix
	</digest>
	<description>
		The <o>jit.multiplex</o> object takes two matrices as input, and derives a single output matrix from it by interleaving the input matrices across a specified dimension.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			Jitter
		</metadata>
		<metadata name="tag">
			Jitter Data
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="matrix">
			<digest>
				in
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="matrix">
			<digest>
				in2
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="matrix">
			<digest>
				out
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="1" type="matrix">
			<digest>
				dumpout
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
	</outletlist>
	<!--MOP-->
	<mop matrixinputcount="2" matrixoutputcount="1">
		<matrixinput name="in2" planelink="0" typelink="0" dimlink="0" minplanecount="1" maxplanecount="32" mindimcount="1" maxdimcount="32" ioproc="adapt">
			<types>
				char long float32 float64
			</types>
		</matrixinput>
		<matrixoutput name="out" planelink="0" typelink="0" dimlink="0" minplanecount="1" maxplanecount="32" mindimcount="1" maxdimcount="32">
			<types>
				char long float32 float64
			</types>
		</matrixoutput>
	</mop>
	<!--MESSAGES-->
	<jittermethodlist>
		<jittermethod name="bang" />
		<jittermethod name="clear" />
		<jittermethod name="exportattrs" />
		<jittermethod name="exportsummary" />
		<jittermethod name="getattributes" />
		<jittermethod name="getstate" />
		<jittermethod name="importattrs" />
		<jittermethod name="jit_matrix" />
		<jittermethod name="outputmatrix" />
		<jittermethod name="summary" />
	</jittermethodlist>
	<!--ATTRIBUTES-->
	<attributelist>
		<attribute name="autoclear" get="1" set="1" type="int" size="1">
			<digest>
				Matrix clear on output flag
			</digest>
			<description>
				Matrix clear following output flag (default = 1)
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Auto Clear" />
			</attributelist>
		</attribute>
		<attribute name="mode" get="1" set="1" type="int" size="1">
			<digest>
				Matrix underflow mode
			</digest>
			<description>
				Matrix underflow mode (default = 0 (stop))
				<br />
				0 = stop: If one input matrix is exhausted before the other, do nothing
				<br />
				1 = wrap: If one input matrix is exhausted before the other, return to that matrix's beginning and continue until the second matrix is also exhausted
				<br />
				2 = clip: If one input matrix is exhausted before the other, repeat that matrix's final sample until the second matrix is also exhausted
				<br />
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Mode" />
			</attributelist>
		</attribute>
		<attribute name="multiplexdim" get="1" set="1" type="int" size="1">
			<digest>
				Dimension across which multiplexing occurs
			</digest>
			<description>
				The dimension across which multiplexing occurs (default = 0). The most common arguments specify horizontal (i.e., dim[0]) or vertical (dim[1]) multiplexing.
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Multiplex Dim" />
			</attributelist>
		</attribute>
		<attribute name="scan_a" get="1" set="1" type="int" size="1">
			<digest>
				Number of scanlines to sample from the left input matrix
			</digest>
			<description>
				The number of scanlines to sample from the left input matrix (default = 1)
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Scan A" />
			</attributelist>
		</attribute>
		<attribute name="scan_b" get="1" set="1" type="int" size="1">
			<digest>
				Number of scanlines to sample from the right input matrix
			</digest>
			<description>
				The number of scanlines to sample from the right input matrix (default = 1)
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Scan B" />
			</attributelist>
		</attribute>
		<attribute name="truncate" get="1" set="1" type="int" size="1">
			<digest>
				Input truncation flag
			</digest>
			<description>
				Input truncation flag (default = 1) When the flag is set, the right input's dimensions are truncated to the left input's dimensions if the right dimensions are greater than the left. Truncation is performed for all dimensions except the multiplex dimension. Otherwise, no truncation occurs.
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Truncate" />
			</attributelist>
		</attribute>
	</attributelist>
	<jitterattributelist>
		<jitterattribute name="outputmode" />
		<jitterattribute name="adapt" />
		<jitterattribute name="in2_name" />
		<jitterattribute name="in2_type" />
		<jitterattribute name="in2_dim" />
		<jitterattribute name="in2_planecount" />
		<jitterattribute name="out_name" />
		<jitterattribute name="type" />
		<jitterattribute name="dim" />
		<jitterattribute name="planecount" />
	</jitterattributelist>
	<!--EXAMPLE-->
	<examplelist>
		<example img="jit.multiplex.png" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="jit.concat" />
		<seealso name="jit.demultiplex" />
		<seealso name="jit.glue" />
		<seealso name="jit.matrix" />
		<seealso name="jit.scissors" />
		<seealso name="jit.split" />
	</seealsolist>
	<discussion>
		Specifically, the object takes a set of scanlines across the first input matrix, placing these into the output matrix, then takes a set of scanlines across the second input matrix, appending them to the output matrix, alternating between the two input sources until their data is exhausted.
	</discussion>
</c74object>
