<?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.displays" module="jit" category="Jitter Devices">
	<digest>
		Set and query monitor attributes
	</digest>
	<description>
		Senses additional display hardware attached to your computer and allows you to use standard Jitter <m>get*</m> and <m>set*</m> messages to enumerate the number and coordinates of any and all monitors. The object remembers the original state of your system's display settings when the object is instantiated, which can be easily recalled, and you can also use the object to enable display mirroring.
		<br />
		Typically, the <o>jit.displays</o> object is saved as a portion of a performance patch setup to automatically determine the exact position of your attached hardware and move your output window as needed.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			Jitter
		</metadata>
		<metadata name="tag">
			Jitter Devices
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="INLET_TYPE">
			<digest>
				messages in
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="INLET_TYPE">
			<digest>
				messages in
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="OUTLET_TYPE">
			<digest>
				dumpout
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
	</outletlist>
	<!--ARGUMENTS-->
	<objarglist>
		<objarg id="0" name="OBJARG_NAME" type="OBJARG_TYPE" optional="0">
			<digest>
				TEXT_HERE
			</digest>
			<description>
				TEXT_HERE
			</description>
		</objarg>
	</objarglist>
	<!--MESSAGES-->
	<methodlist>
		<method name="bang">
			<arglist />
			<digest>
				Output a display count
			</digest>
			<description>
				Equivalent to the <m>count</m> message. Sends a count of the attached displays out the object's outlet in the form <m>count</m>  <i>number-of-displays</i>.
			</description>
		</method>
		<method name="coords">
			<arglist>
				<arg name="display-index" type="int" />
			</arglist>
			<digest>
				Output selected display coordinates
			</digest>
			<description>
				Sends the display screen coordinates for the display whose index is specified out the object's right outlet as a list in the form <m>coords</m>  <i>display-index</i>  <i>left</i>  <i>top</i>  <i>bottom</i>  <i>right</i>. Displays are counted from 0 (0 is the primary display).
			</description>
		</method>
		<method name="count">
			<arglist />
			<digest>
				Output a display count
			</digest>
			<description>
				Sends a count of the attached displays out the object's outlet in the form <m>count</m>  <i>number-of-displays</i>.
			</description>
		</method>
		<method name="currentstate">
			<arglist>
				<arg name="display-index" type="int" />
			</arglist>
			<digest>
				Output selected display state
			</digest>
			<description>
				Sends the current state of the display out the object's outlet as a list in the form <m>currentstate</m>  <i>display-index</i>  <i>width</i>  <i>height</i>  <i>color-bit-depth</i>  <i>refresh-rate</i>. Note that LCD displays report a refresh rate of 0.
			</description>
		</method>
		<method name="gammatable2matrix">
			<arglist>
				<arg name="display-index" type="int" />
				<arg name="matrix-name" type="symbol" />
			</arglist>
			<digest>
				Output selected display gamma table
			</digest>
			<description>
				Copies the gamma table for the display specified by <m>display-index</m> to the matrix named <m>matrix-name</m>.
			</description>
		</method>
		<method name="getmode">
			<arglist>
				<arg name="display-index" type="int" />
			</arglist>
			<digest>
				Output display modes
			</digest>
			<description>
				Sends available display modes for display specified by <m>display-index</m> out the right outlet as a sequence of lists, one display per line. Each display is described by a list in the form <m>mode</m>  <i>display-index</i>  <i>mode-index</i>  <i>width</i>  <i>height</i>  <i>color-bit-depth</i>  <i>refresh-rate</i>. Note: LCD displays have a refresh rate of 0.
			</description>
		</method>
		<method name="manual">
			<arglist>
				<arg name="display-index" type="int" />
				<arg name="width" type="int" />
				<arg name="height" type="int" />
				<arg name="bit-depth" type="int" />
			</arglist>
			<digest>
				Set display configuration
			</digest>
			<description>
				<b>Macintosh only</b>
				<br />
				Sets the display to a configuration which provides the closest match for the ideal configuration specified by the arguments.
			</description>
		</method>
		<method name="matrix2gammatable">
			<arglist>
				<arg name="matrix-name" type="symbol" />
				<arg name="display-index" type="int" />
			</arglist>
			<digest>
				Set the selected display's gamma table
			</digest>
			<description>
				Copies the Jitter matrix named <m>matrix-name</m> to the gamma table for the display specified by <m>display-index</m>. On Windows, gamma tables with negative slope are not permitted, and will result in an error message.
			</description>
		</method>
		<method name="mirror">
			<arglist>
				<arg name="src-display-index" type="int" />
				<arg name="dst-display-index" type="int" />
			</arglist>
			<digest>
				Enable video mirroring
			</digest>
			<description>
				<b>Macintosh only</b>
				<br />
				Enables video mirroring of the display whose number is specified by <m>src-display-index</m> to the display whose number is specified by <m>dst-display-index</m>.
			</description>
		</method>
		<method name="move">
			<arglist>
				<arg name="display-index" type="int" />
				<arg name="newxtop" type="int" />
				<arg name="newytop" type="int" />
			</arglist>
			<digest>
				Set logical screen location
			</digest>
			<description>
				Changes the logical screen location of the display whose number is specified by <m>src-display-index</m>. Two additional arguments specify the new screen location. If a location is chosen which overlaps with the location of another display, a new non-overlapping location will be automatically assigned. The final position of the display after a <m>move</m> can be verified using the <m>coords</m> message.
			</description>
		</method>
		<method name="reset">
			<arglist />
			<digest>
				Return displays to their snapshot state
			</digest>
			<description>
				Return displays to their snapshot state (see the <m>snapshot</m> method). Note that reset does not have any affect on video mirroring settings, which must be maintained manually.
			</description>
		</method>
		<method name="resetgamma">
			<arglist />
			<digest>
				Return gamma settings to their default state
			</digest>
			<description>
				Return display gamma settings to their system default state.
			</description>
		</method>
		<method name="setmode">
			<arglist>
				<arg name="display-index" type="int" />
				<arg name="mode-index" type="int" />
			</arglist>
			<digest>
				Set the display mode
			</digest>
			<description>
				Change the display mode. The two arguments specify the display index, and the mode index (derived from the <m>getmode</m> message).
			</description>
		</method>
		<method name="snapshot">
			<arglist />
			<digest>
				Saves all display mode
			</digest>
			<description>
				Saves the current display mode (on all active displays) for use with the <m>reset</m> and <m>resetmode</m> messages. A snapshot is automatically taken when the object is instantiated.
			</description>
		</method>
		<method name="unmirror">
			<arglist>
				<arg name="display-index" type="int" />
			</arglist>
			<digest>
				Disable video mirroring
			</digest>
			<description>
				<b>Macintosh only</b>
				<br />
				Disables video mirroring on the specified display.
			</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="gamma" get="0" set="1" type="float" size="4">
			<digest>
				Monitor gamma settings
			</digest>
			<description>
				Monitor gamma settings (Macintosh default = 0 1.8 1.8 1.8) (Windows default = 0 2.2 2.2 2.2)
				<br />
				The first argument specifies the device. The latter three arguments are used as coefficients in the generation of power-curve gamma tables for the red, green and blue channels. 1.8 represents standard Macintosh gamma, while 2.2 represents standard Windows gamma.
			</description>
		</attribute>
		<attribute name="resetmode" get="1" set="1" type="int" size="1">
			<digest>
				Display mode flag
			</digest>
			<description>
				<b>Macintosh only</b>
				<br />
				Display mode flag (default = 1)
				<br />
				Enables or disables reset when the object is freed The <o>jit.displays</o> object remembers the original state of your system's display settings when the object is instantiated (display settings can also be saved using the <m>snapshot</m> message. A <m>resetmode 1</m> will cause the original display settings to be restored when the patch is closed or the object is otherwise freed.
				<br />
			</description>
		</attribute>
	</attributelist>
	<jitterattributelist />
	<!--EXAMPLE-->
	<examplelist>
		<example img="jit.displays.png" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="jit.desktop" />
		<seealso module="jit" name="jitterchapter38" type="tutorial" />
	</seealsolist>
</c74object>
