<?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.dx.grab" module="jit" category="Jitter Generators">
	<digest>
		Digitize video using DirectX (Windows)
	</digest>
	<description>
		Digitizes video from any DirectX-compatible video digitizer, and decompresses the signal into a Jitter matrix. It also offers a grab-to-disk mode. Although numerous parameters for control are offered, not all features are supported by all digitizers.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			Jitter
		</metadata>
		<metadata name="tag">
			Jitter Generators
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="INLET_TYPE">
			<digest>
				bang, messages in
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="INLET_TYPE">
			<digest>
				bang, messages in
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="matrix">
			<digest>
				(matrix) 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="4" maxplanecount="4" mindimcount="1" maxdimcount="32">
			<types>
				char
			</types>
		</matrixoutput>
	</mop>
	<!--MESSAGES-->
	<methodlist>
		<method name="settings">
			<arglist />
			<digest>
				Open the video settings dialog
			</digest>
			<description>
				Opens the standard video digitizer settings dialog box.
			</description>
		</method>
		<method name="snd_settings">
			<arglist />
			<digest>
				Open the sound settings dialog
			</digest>
			<description>
				Opens the standard sound digitizer settings dialog box.
			</description>
		</method>
		<method name="stop">
			<arglist />
			<digest>
				Stop grabbing to disk
			</digest>
			<description>
				Stops grabbing to disk.
			</description>
		</method>
		<method name="defaults">
			<arglist />
			<digest>
				Restore digitizer image defaults
			</digest>
			<description>
				Restores digitizer image control defaults.
			</description>
		</method>
		<method name="exportimage">
			<arglist>
				<arg name="filename" type="symbol" />
				<arg name="file-type" type="symbol" />
			</arglist>
			<digest>
				Export the current frame as an image file
			</digest>
			<description>
				Export the current frame as an image file with the name specified by the first argument. The second argument sets the file type (default = png). Available file types are <m>png</m>, <m>tiff</m>, and <m>jpeg</m>.				<br />
				You can use the Max Preferences to <link anchor="defaultimageresolution" module="core" name="interface_preferences" type="vignette">specify a default image resolution</link> for png image types.
			</description>
		</method>
		<method name="open">
			<arglist />
			<digest>
				Open a grab component
			</digest>
			<description>
				Opens a sequence grab component. A component must be explicitly opened before the <o>jit.dx.grab</o> object will began digitizing.
			</description>
		</method>
		<method name="close">
			<arglist />
			<digest>
				Close an open grab component
			</digest>
			<description>
				Closes an open sequence grab component. The component is automatically closed when the object is freed.
			</description>
		</method>
		<method name="write">
			<arglist>
				<arg name="filename" optional="1" type="symbol" />
				<arg name="FPS" type="float" />
			</arglist>
			<digest>
				Start grabbing to disk
			</digest>
			<description>
				<p>
					Starts grabbing to disk. If no <i>filename</i> argument is supplied, a file dialog box will open.
				</p>
				<p>
					The default <i>FPS</i> is 30. frames/sec.
				</p>
			</description>
		</method>
		<method name="getvdevlist">
			<arglist />
			<digest>
				Report video digitizers
			</digest>
			<description>
				Reports the list of available video digitizers from the object's right outlet, preceded by the word <m>vdevlist</m>.
			</description>
		</method>
		<method name="getinputlist">
			<arglist />
			<digest>
				Report video input devices
			</digest>
			<description>
				Reports the list of available inputs to the video digitizer from the object's right outlet, preceded by the word <m>inputlist</m>. Note that the digitizer must be <m>open</m> in order for this method to function.
			</description>
		</method>
		<method name="getsnddevlist">
			<arglist />
			<digest>
				Report sound digitizers
			</digest>
			<description>
				Reports the list of available sound digitizers from the object's right outlet, preceded by the word <m>snddevlist</m>.
			</description>
		</method>
		<method name="getsndinputlist">
			<arglist />
			<digest>
				Report sound input devices
			</digest>
			<description>
				Reports the list of available inputs for the current sound digitizer from the object's right outlet, preceded by the word <m>sndinputlist</m>. Note that the digitizer must be <m>open</m> in order for this method to function.
			</description>
		</method>
		<method name="getformatlist">
			<arglist />
			<digest>
				Report the available digitizer formats
			</digest>
			<description>
				Reports the list of available digitizer formats from the object's right outlet, preceded by the word <m>formatlist</m>. Note that the digitizer must be <m>open</m> in order for this method to function.
			</description>
		</method>
	</methodlist>
	<jittermethodlist>
		<jittermethod name="bang" />
		<jittermethod name="clear" />
		<jittermethod name="getattributes" />
		<jittermethod name="getstate" />
		<jittermethod name="summary" />
		<jittermethod name="importattrs" />
		<jittermethod name="exportattrs" />
		<jittermethod name="exportsummary" />
		<jittermethod name="outputmatrix" />
	</jittermethodlist>
	<!--ATTRIBUTES-->
	<attributelist>
		<attribute name="backlight" get="1" set="1" type="float" size="3">
			<digest>
				Video backlight compensation
			</digest>
			<description>
				The video digitizer backlight compensation setting (default = digitizer-specific)
				<br />
				0 = off
				<br />
				1 = on
				<br />
			</description>
		</attribute>
		<attribute name="bitrate" get="1" set="1" type="int" size="1">
			<digest>
				Sound bit depth
			</digest>
			<description>
				The sound digitizer bit depth (default = digitizer-specific)
				<br />
				8 = digitize sound at 8-bit resolution
				<br />
				16 = digitize sound at 16-bit resolution
			</description>
		</attribute>
		<attribute name="brightness" get="1" set="1" type="float" size="1">
			<digest>
				Video brightness level
			</digest>
			<description>
				The video digitizer brightness level (default = digitizer-specific)
			</description>
		</attribute>
		<attribute name="channels" get="1" set="1" type="int" size="1">
			<digest>
				Sound digitizer channel
			</digest>
			<description>
				The sound channel selection (default = digitizer-specific)
				<br />
				1 = digitize sound in mono
				<br />
				2 = digitize sound in stereo
			</description>
		</attribute>
		<attribute name="colorenable" get="1" set="1" type="float" size="3">
			<digest>
				Video color enable
			</digest>
			<description>
				The video digitizer colorenable setting (default = digitizer-specific)
				<br />
				0 = off
				<br />
				1 = on
			</description>
		</attribute>
		<attribute name="colormode" get="1" set="1" type="symbol" size="1">
			<digest>
				Output color encoding
			</digest>
			<description>
				The output matrix's color encoding (default = argb)
				<br />
				argb = ARGB (alpha, red, green, blue) colormode
				<br />
				uyvy = UYVY (YUV 4:2:2 packed) colormode
			</description>
			<attributelist>
				<attribute name="enumvals" get="1" set="1" type="atom" size="2">
					<enumlist>
						<enum name="argb">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="uyvy">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
					</enumlist>
				</attribute>
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="enum" />
			</attributelist>
		</attribute>
		<attribute name="contrast" get="1" set="1" type="float" size="1">
			<digest>
				Video contrast level
			</digest>
			<description>
				The video digitizer contrast level (default = digitizer-specific)
			</description>
		</attribute>
		<attribute name="dropreport" get="1" set="1" type="int" size="1">
			<digest>
				Dropped frame reporting
			</digest>
			<description>
				Dropped frames reporting flag (default = 0 (disabled))
				<br />
				When this flag is set, the message <m>dropped</m> will be sent from the rightmost outlet of the <o>jit.dx.grab</o> object, followed by the number of dropped frames, whenever frame-dropping is detected.
			</description>
		</attribute>
		<attribute name="dstrect" get="1" set="1" type="int" size="4">
			<digest>
				Output matrix rectangle
			</digest>
			<description>
				The portion of the output matrix used for decompressing media to the internal matrix. (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 viewing area of the output matrix.
			</description>
		</attribute>
		<attribute name="format" get="1" set="1" type="int" size="1">
			<digest>
				Video format selection
			</digest>
			<description>
				The video digitizer format selection (default = digitizer-specific)
				<br />
			</description>
		</attribute>
		<attribute name="gain" get="1" set="1" type="float" size="3">
			<digest>
				Video gain
			</digest>
			<description>
				The video digitizer gain (default = digitizer-specific)
				<br />
				Note that the <o>jit.qt.grab</o> object has an attribute called <at>gain</at> which controls <i>audio</i>, rather than video gain.
			</description>
		</attribute>
		<attribute name="gamma" get="1" set="1" type="float" size="1">
			<digest>
				Video gamma
			</digest>
			<description>
				The video digitizer gamma (default = digitizer-specific)
			</description>
		</attribute>
		<attribute name="hue" get="1" set="1" type="float" size="1">
			<digest>
				Video hue adjustment
			</digest>
			<description>
				The video digitizer hue adjustment (default = digitizer-specific)
			</description>
		</attribute>
		<attribute name="input" get="1" set="1" type="int" size="1">
			<digest>
				Video input
			</digest>
			<description>
				The current video digitizer input (default = digitizer-specific)
			</description>
		</attribute>
		<attribute name="interp" get="1" set="1" type="int" size="1">
			<digest>
				Image interpolation
			</digest>
			<description>
				Image interpolation flag (default = 0)
			</description>
		</attribute>
		<attribute name="resolution" get="1" set="1" type="int" size="2">
			<digest>
				Preferred capture resolution
			</digest>
			<description>
				Preferred capture resolution for the digitizer (default = digitizer-specific)
				<br />
				If a resolution is specified, an attempt is made to configure the digitizer to capture at that resolution.
			</description>
		</attribute>
		<attribute name="samplerate" get="1" set="1" type="int" size="1">
			<digest>
				Sound sample rate
			</digest>
			<description>
				Sound digitizer sample rate (default = digitizer-specific)
				<br />
				44100 = 44.1 kHz
				<br />
				48000 = 48.0 kHz
				<br />
				(other rates may be available, but are digitizer-specific)
			</description>
		</attribute>
		<attribute name="saturation" get="1" set="1" type="float" size="1">
			<digest>
				Video saturation
			</digest>
			<description>
				Video digitizer saturation level (default = digitizer-specific)
			</description>
		</attribute>
		<attribute name="sharpness" get="1" set="1" type="float" size="1">
			<digest>
				Video sharpness
			</digest>
			<description>
				Video digitizer sharpness level (default = digitizer-specific)
			</description>
		</attribute>
		<attribute name="snddevice" get="1" set="1" type="int" size="1">
			<digest>
				Sound digitizer device
			</digest>
			<description>
				The current sound digitizer (default = 0)
			</description>
		</attribute>
		<attribute name="srcrect" get="1" set="1" type="int" size="4">
			<digest>
				Digitizer source rectangle
			</digest>
			<description>
				Source rect from digitizer frame (default = 0 0 (matrix width) (matrix height))
			</description>
		</attribute>
		<attribute name="unique" get="1" set="1" type="int" size="1">
			<digest>
				Unique frame filter
			</digest>
			<description>
				Unique frame filter flag (default = 0 (disabled))
				<br />
				When the flag is set, only new frames from the digitizer are output when the object receives a bang. If no new frame has been received from the digitizer, the <o>jit.dx.grab</o> object will not respond to the bang.
			</description>
		</attribute>
		<attribute name="usedstrect" get="1" set="1" type="int" size="1">
			<digest>
				Use destination rectangle
			</digest>
			<description>
				Destination rect flag (default = 0) When the flag is set, the <at>dstrect</at> attributes are used when copying an input matrix to the internal matrix.
			</description>
		</attribute>
		<attribute name="usesrcrect" get="1" set="1" type="int" size="1">
			<digest>
				Use source rectangle
			</digest>
			<description>
				Source rect flag (default = 0) When the flag is set, the <at>srcrect</at> attributes are used when copying an input matrix to the internal matrix.
			</description>
		</attribute>
		<attribute name="vdevice" get="1" set="1" type="int" size="1">
			<digest>
				Current video digitizer device
			</digest>
			<description>
				The current video digitizer (default = 0)
			</description>
		</attribute>
		<attribute name="whitebalance" get="1" set="1" type="float" size="3">
			<digest>
				Video white balance
			</digest>
			<description>
				The video digitizer white balance (color temperature) (default = digitizer-specific)
			</description>
		</attribute>
		<attribute name="write_audio" get="1" set="1" type="int" size="1">
			<digest>
				Audio track write flag
			</digest>
			<description>
				Audio track write flag (default = 0) When the flag is set, an audio track is written when grabbing images to disk.
			</description>
		</attribute>
		<attribute name="write_video" get="1" set="1" type="int" size="1">
			<digest>
				Video track write flag
			</digest>
			<description>
				Video track write flag (default = 1) When the flag is set, a video track is written when grabbing images to disk.
			</description>
		</attribute>
	</attributelist>
	<jitterattributelist>
		<jitterattribute name="outputmode" />
		<jitterattribute name="out_name" />
		<jitterattribute name="type" />
		<jitterattribute name="dim" />
		<jitterattribute name="planecount" />
	</jitterattributelist>
	<!--EXAMPLE-->
	<examplelist>
		<example caption="" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="jit.qt.effect" />
		<seealso name="jit.qt.grab" />
		<seealso name="jit.qt.movie" />
		<seealso name="jit.qt.record" />
		<seealso name="jit.qt.videoout" />
		<seealso name="jitterchapter21" module="jit" type="tutorial" />
	</seealsolist>
	<discussion>
		<p />
		MACINTOSH USERS: The <o>jit.dx.grab</o> object uses DirectX, and is Windows-only. Please refer to the <o>jit.qt.grab</o> object.
	</discussion>
</c74object>
