<?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.record" module="jit" category="Jitter Generators">
	<digest>
		Record a movie
	</digest>
	<description>
		The <o>jit.record</o> object take a sequence of Jitter matrices as input, saving the sequence to disk as a movie. Currently only 4 plane, char type matrix input is supported.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			Jitter
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="matrix">
			<digest>
				in
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="matrix">
			<digest>
			</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="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="stop">
			<arglist />
			<digest>
				Stop recording
			</digest>
			<description>
				Stop recording.
			</description>
		</method>
		<method name="write">
			<arglist>
				<arg name="movie-name" optional="1" type="symbol" />
				<arg name="FPS" type="float" />
				<arg name="codec" type="symbol" />
				<arg name="quality" type="symbol" />
				<arg name="timescale" type="int" />
			</arglist>
			<digest>
				Write input to a disk file as a movie
			</digest>
			<description>
				Writes the sequence of incoming Jitter matrices to a disk file as a movie. The default is to write a <m>30.</m> fps <m>prores4444</m> codec <m>max</m> quality file with a timescale of <m>600</m>. Note, quality is ignored when using the engine. See the <at>codec</at> attribute for list of possible codec values.
			</description>
		</method>
	</methodlist>
	<jittermethodlist>
		<jittermethod name="clear" />
		<jittermethod name="exportattrs" />
		<jittermethod name="importattrs" />
		<jittermethod name="outputmatrix" />
	</jittermethodlist>
	<!--ATTRIBUTES-->
	<attributelist>
		<attribute name="adapt" get="1" set="1" type="int" size="1">
			<digest>
				Adapt output matrix dimensions
			</digest>
			<description>
				Adapt output matrix dimensions to matrix input. If dimension arguments provided, default = 0, otherwise default = 1.
			</description>
			<attributelist>
				<attribute name="introduced" get="1" set="1" type="symbol" size="1" value="7.0.0" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Adapt" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="codec" get="1" set="1" type="symbol" size="1">
			<digest>
				Set movie codec for recording
			</digest>
			<description>
				Set movie codec for recording (default = prores4444).
			</description>
			<attributelist>
				<attribute name="enumvals" get="1" set="1" type="atom" size="4">
					<enumlist>
						<enum name="jpeg">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="h264">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="prores4444">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="prores422">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
					</enumlist>
				</attribute>
				<attribute name="introduced" get="1" set="1" type="symbol" size="1" value="7.0.0" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Codec" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="enum" />
			</attributelist>
		</attribute>
		<attribute name="dstrect" get="1" set="1" type="int" size="4">
			<digest>
				The portion of the output matrix written to by the input frame
			</digest>
			<description>
				The portion of the output matrix written to by the input frame (default = 0 0 (matrix width) (matrix height)).
				<br />
				The proportions of the rectangle are expressed in the form <i>left top right bottom</i>. All values are relative to the top left corner of the object's viewing area.
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Dest Rect" />
			</attributelist>
		</attribute>
		<attribute name="engine" get="1" set="1" type="symbol" size="1">
			<digest>
				Video engine backend.
			</digest>
			<description>
				Video engine backend. This argument can only be set in the max box. If not specified, it is determined by the Video Engine Max preference. As of this writing, possible values include <ar>avf</ar> (Mac only), and <ar>qt</ar>.
			</description>
			<attributelist>
				<attribute name="introduced" get="1" set="1" type="symbol" size="1" value="7.0.0" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Engine" />
			</attributelist>
		</attribute>
		<attribute name="fps" get="1" set="1" type="float" size="1">
			<digest>
				Movie recording fps
			</digest>
			<description>
				Movie recording frames per second (default = 30).
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Frames Per Second" />
			</attributelist>
		</attribute>
		<attribute name="interp" get="1" set="1" type="int" size="1">
			<digest>
				Interpolation flag
			</digest>
			<description>
				Interpolation flag (default = 0)
				<br />
				When the flag is set, the incoming matrix is interpolated when scaling to display.
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Interp" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="planemap" get="1" set="1" type="int" size="4">
			<digest>
				Plane mapping from input matrix to output movie
			</digest>
			<description>
				The plane mapping from input matrix to output movie (default = 0 1 2 3)
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Plane Map" />
			</attributelist>
		</attribute>
		<attribute name="preview" get="1" set="1" type="int" size="1">
			<digest>
				Preview flag
			</digest>
			<description>
				Preview flag (default = 0 (off)). Enable to pass input matrices while recording.
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Preview" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="realtime" get="1" set="1" type="int" size="1">
			<digest>
				Realtime recording mode flag (default = 0 (off))
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Real Time" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
			<discussion>
				In realtime recording mode, the <o>jit.record</o> object continually writes frames to disk at the framerate specified by the <m>write</m> message. New frames arriving at the object will not be written immediately, but rather at the next media sample time as determined by the frame rate.
			</discussion>
		</attribute>
		<attribute name="srcrect" get="1" set="1" type="int" size="4">
			<digest>
				The portion of the input matrix used when copying an input matrix to the internal matrix
			</digest>
			<description>
				The portion of the input matrix used when copying an input matrix to the internal matrix. (default = 0 0 (matrix width) (matrix height)) The proportions of the rectangle are expressed in the form <i>left top right bottom</i>. All values are relative to the top left corner of the viewing area of the input matrix.
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Source Rect" />
			</attributelist>
		</attribute>
		<attribute name="time" get="1" set="0" type="int" size="1">
			<digest>
				Current duration of media written to disk (QT units)
			</digest>
			<description>
				The current duration, in time units, of media written to disk (default = operation-specific)
				<br />
				The <at>time</at> attribute only returns data during <m>write</m> operations.
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Time" />
			</attributelist>
		</attribute>
		<attribute name="usedstrect" get="1" set="1" type="int" size="1">
			<digest>
				Destination rect flag
			</digest>
			<description>
				Destination rect flag (default = 0)
				<br />
				When the flag is set, the <at>dstrect</at> attributes are used when copying an input matrix to the internal matrix.
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Use Dest Rect" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="usesrcrect" get="1" set="1" type="int" size="1">
			<digest>
				Source rect flag
			</digest>
			<description>
				Source rect flag (default = 0)
				<br />
				When the flag is set, the <at>srcrect</at> attributes are used when copying an input matrix to the internal matrix.
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Use Source Rect" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
	</attributelist>
	<jitterattributelist>
		<jitterattribute name="outputmode" />
		<jitterattribute name="dim" />
	</jitterattributelist>
	<!--EXAMPLE-->
	<examplelist>
		<example img="jit.record.png" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso display="jit.grab" name="jit.qt.grab" />
		<seealso display="jit.movie" name="jit.qt.movie" />
		<seealso name="jit.vcr" />
		<seealso module="jit" name="jitterchapter19" type="tutorial" />
		<seealso module="jit" name="jitterchapter21" type="tutorial" />
	</seealsolist>
	<discussion>
		This document refers to the avf engine version of <o>jit.record</o>.
	</discussion>
</c74object>
