<?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="crosspatch" module="" category="">
	<digest>
		Patching Editor for Matrix Objects
	</digest>
	<description>
		Connect a <o>crosspatch</o> to a client object (including <o>matrix~</o>, <o>mcs.matrix~</o>, <o>mc.matrix~</o>, <o>matrix</o>, <o>gate~</o>, <o>mc.gate~</o>, <o>mcs.gate~</o>, <o>gate</o>, <o>selector</o>, <o>mc.selector~</o>, <o>mcs.selector~</o>, and <o>switch</o>) to use a patching interface to edit connections between inputs and outputs.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			MSP
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="INLET_TYPE">
			<digest>
				list Adds or Deletes a Connection
			</digest>
			<description>
				You can update the state of the <o>crosspatch</o> UI as well as any connected objects by sending messages similar to those supported by matrix objects.
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="OUTLET_TYPE">
			<digest>
				Connect to matrix~ or matrix Object
			</digest>
			<description>
				To allow <o>crosspatch</o> control a matrix object, connect this outlet to the left inlet of the target object.
			</description>
		</outlet>
		<outlet id="1" type="dictionary">
			<digest>
				From dump Message
			</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>
	<!--parameter-->
	<parameter />
	<!--MESSAGES-->
	<methodlist>
		<method name="bang">
			<arglist />
			<digest>
				Send Connection State to Clients
			</digest>
			<description>
				The <m>bang</m> message will copy the current connection state to any objects connected to the left outlet. A dictionary with the current state is sent out the left outlet if any there are any connected objects that aren't compatible with the <o>crosspatch</o> connection protocol. The <m>dump</m> message sends a similar dictionary out the right outlet.
			</description>
		</method>
		<method name="list">
			<arglist>
				<arg name="input-index" type="int" optional="0" />
				<arg name="output-index" type="int" optional="0" />
				<arg name="gain-or-zero" type="float" optional="0" />
			</arglist>
			<digest>
				Add or Delete a Connection
			</digest>
			<description>
				A list of numbers adds or deletes a connection and updates connected clients. The first number is the input (always zero relative), the second number is the output (always zero relative), and the third number is a gain value. If the gain value is zero, the connection is removed, otherwise it is associated with the connection.
			</description>
		</method>
		<method name="clear">
			<arglist />
			<digest>
				Clear Connections
			</digest>
			<description>
				The <m>clear</m> message clears all current connections and updates any connected clients.
			</description>
		</method>
		<method name="dictionary">
			<arglist>
				<arg name="dictionary-name" type="symbol" optional="0" />
			</arglist>
			<digest>
				Set All Connections
			</digest>
			<description>
				When <o>crosspatch</o> receives a dictionary containing connection information, it clears its existing connections and replaces them with those contained in the dictionary, updating connected clients. Connections for inputs or outputs greater than the current input and output size are ignored.
			</description>
		</method>
		<method name="dump">
			<arglist />
			<digest>
				Dump Contents
			</digest>
			<description>
				The <m>dump</m> message outputs a dictionary out the right outlet containing the current connections.
			</description>
		</method>
		<method name="dumpconnections">
			<arglist />
			<digest>
				Dump Contents
			</digest>
			<description>
				The <m>dumpconnections</m> message outputs a dictionary out the right outlet containing the current connections.
			</description>
		</method>
		<method name="indisable">
			<arglist>
				<arg name="input-index" type="int" optional="0" />
				<arg name="disable" type="int" optional="0" />
			</arglist>
			<digest>
				Disable an Input Temporarily
			</digest>
			<description>
				The word <m>indisable</m>, followed by an input index starting at 0, visually disables the input if the second argument is non-zero and enables it if the second argument is 0. Example: <m>indisable 1 1</m> will disable the second input, and <m>indisable 1 0</m> will re-enable it. When you disable an input, any connections to it will be removed if <at>allowdisabled</at> is not enabled. Moreover, you cannot connect anything to a disabled input unless <at>allowdisabled</at> is enabled. The disabled state of inputs is <i>not</i> saved in the patcher.
			</description>
		</method>
		<method name="(mouse)">
			<digest>
				Edit Connections and Gains
			</digest>
			<description>
				<i>To make a connection between an input and output</i>, click on a white circle on either the input or output side of the object and either move or drag to the desired destination circle. The destination will highlight when the mouse is over it. If you released the mouse to start the connection, click again to complete the connection. If you dragged the mouse, release the button.
				<br />
				<i>To delete an existing connection</i> click once on the line to select it, then press the delete or backspace key.
				<br />
				To edit the gain of a connection, click on the line and drag upwards or downwards. A dial will indicates the current gain as you drag.
				<br />
				As you edit connections with <o>crosspatch</o>, any connected matrix objects will update to reflect changes in gain or connection state.
			</description>
		</method>
		<method name="outdisable">
			<arglist>
				<arg name="output-index" type="int" optional="0" />
				<arg name="disable" type="int" optional="0" />
			</arglist>
			<digest>
				Disable an Output Temporarily
			</digest>
			<description>
				The word <m>outdisable</m>, followed by an output index starting at 0, visually disables the input if the second argument is non-zero and enables it if the second argument is 0. Example: <m>outdisable 1 1</m> will disable the second output, and <m>outdisable 1 0</m> will re-enable it. When you disable an output, any connections to it will be removed if <at>allowdisabled</at> is not enabled. Moreover, you cannot connect anything to a disabled output unless <at>allowdisabled</at> is enabled. The disabled state of outputs is <i>not</i> saved in the patcher.
			</description>
		</method>
	</methodlist>
	<!--ATTRIBUTES-->
	<attributelist>
		<attribute name="allowdisabled" get="1" set="1" type="int" size="1">
			<digest>
				Allow Disabled Connections
			</digest>
			<description>
				Sets whether connections can be made to disabled inputs or outputs.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Behavior" />
				<attribute name="default" get="1" set="1" type="int" size="1" value="0" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Allow Disabled Connections" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="bgcolor" get="1" set="1" type="float" size="4">
			<digest>
				Background Color
			</digest>
			<description>
				Sets the object's background color.
			</description>
			<attributelist>
				<attribute name="attr_attr_save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="basic" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Color" />
				<attribute name="dynamiccolor_default" get="1" set="1" type="symbol" size="1" value="bgcolor" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Background Color" />
				<attribute name="order" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="preview" get="1" set="1" type="symbol" size="1" value="rect_fill" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="set" get="1" set="1" type="pointer" size="1" value="pointer" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="rgba" />
			</attributelist>
		</attribute>
		<attribute name="candycane" get="1" set="1" type="int" size="1">
			<digest>
				Number of Candycane Colors
			</digest>
			<description>
				Sets the number of colors to cycle through when displaying connections and labels. The default value of 1 shows only the <at>linecolor</at>; values above 1 show one or more of the candycane colors.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Color" />
				<attribute name="default" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Number of Candycane Colors" />
				<attribute name="order" get="1" set="1" type="int" size="1" value="6" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</attribute>
		<attribute name="candycane2" get="1" set="1" type="float" size="4">
			<digest>
				Candycane Color 1
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="attr_attr_save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Color" />
				<attribute name="defaultname" get="1" set="1" type="float" size="4" value="0.176 0.816 0.757 1." />
				<attribute name="dynamiccolor_default" get="1" set="1" type="symbol" size="1" value="" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Candycane Color 1" />
				<attribute name="order" get="1" set="1" type="int" size="1" value="9" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="rgba" />
			</attributelist>
		</attribute>
		<attribute name="candycane3" get="1" set="1" type="float" size="4">
			<digest>
				Candycane Color 2
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="attr_attr_save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Color" />
				<attribute name="defaultname" get="1" set="1" type="float" size="4" value="0.965 0.765 0.337 1." />
				<attribute name="dynamiccolor_default" get="1" set="1" type="symbol" size="1" value="" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Candycane Color 2" />
				<attribute name="order" get="1" set="1" type="int" size="1" value="10" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="rgba" />
			</attributelist>
		</attribute>
		<attribute name="candycane4" get="1" set="1" type="float" size="4">
			<digest>
				Candycane Color 3
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="attr_attr_save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Color" />
				<attribute name="defaultname" get="1" set="1" type="float" size="4" value="0.541 0.776 0.075 1." />
				<attribute name="dynamiccolor_default" get="1" set="1" type="symbol" size="1" value="" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Candycane Color 3" />
				<attribute name="order" get="1" set="1" type="int" size="1" value="11" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="rgba" />
			</attributelist>
		</attribute>
		<attribute name="candycane5" get="1" set="1" type="float" size="4">
			<digest>
				Candycane Color 4
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="attr_attr_save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Color" />
				<attribute name="defaultname" get="1" set="1" type="float" size="4" value="0.788 0.816 0.192 1." />
				<attribute name="dynamiccolor_default" get="1" set="1" type="symbol" size="1" value="" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Candycane Color 4" />
				<attribute name="order" get="1" set="1" type="int" size="1" value="12" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="rgba" />
			</attributelist>
		</attribute>
		<attribute name="candycane6" get="1" set="1" type="float" size="4">
			<digest>
				Candycane Color 5
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="attr_attr_save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Color" />
				<attribute name="defaultname" get="1" set="1" type="float" size="4" value="0.7348 0.03601 0.78958 1." />
				<attribute name="dynamiccolor_default" get="1" set="1" type="symbol" size="1" value="" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Candycane Color 5" />
				<attribute name="order" get="1" set="1" type="int" size="1" value="13" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="rgba" />
			</attributelist>
		</attribute>
		<attribute name="candycane7" get="1" set="1" type="float" size="4">
			<digest>
				Candycane Color 6
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="attr_attr_save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Color" />
				<attribute name="defaultname" get="1" set="1" type="float" size="4" value="0.88176 0.24321 0.14749 1." />
				<attribute name="dynamiccolor_default" get="1" set="1" type="symbol" size="1" value="" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Candycane Color 6" />
				<attribute name="order" get="1" set="1" type="int" size="1" value="14" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="rgba" />
			</attributelist>
		</attribute>
		<attribute name="candycane8" get="1" set="1" type="float" size="4">
			<digest>
				Candycane Color 7
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="attr_attr_save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Color" />
				<attribute name="defaultname" get="1" set="1" type="float" size="4" value="0.02872 0.45042 0.50541 1." />
				<attribute name="dynamiccolor_default" get="1" set="1" type="symbol" size="1" value="" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Candycane Color 7" />
				<attribute name="order" get="1" set="1" type="int" size="1" value="15" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="rgba" />
			</attributelist>
		</attribute>
		<attribute name="candymode" get="1" set="1" type="int" size="1">
			<digest>
				Apply Color to Connection
			</digest>
			<description>
				Controls whether inputs our output positions determine the color of a connection.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Color" />
				<attribute name="default" get="1" set="1" type="int" size="1" value="0" />
				<attribute name="enumvals" get="1" set="1" type="atom" size="2">
					<enumlist>
						<enum name="Using Input">
							<digest>
								Input position will determine connection color
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="Using Output">
							<digest>
								Output position will determine connection color
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
					</enumlist>
				</attribute>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Apply Color to Connection" />
				<attribute name="order" get="1" set="1" type="int" size="1" value="7" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="enumindex" />
			</attributelist>
		</attribute>
		<attribute name="colorlabels" get="1" set="1" type="int" size="1">
			<digest>
				Use Color for Labels
			</digest>
			<description>
				When <at>colorlabels</at> is enabled, the connection color is also used to display corresponding input and output labels according to the setting of the <at>candymode</at> attribute.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Color" />
				<attribute name="default" get="1" set="1" type="int" size="1" value="0" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Use Color for Labels" />
				<attribute name="order" get="1" set="1" type="int" size="1" value="8" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="connectacrossdividers" get="1" set="1" type="int" size="1">
			<digest>
				Connect Across Dividers
			</digest>
			<description>
				Sets whether connections can cross any visual dividers (set via the <at>dividers</at> attribute) that are currently showing.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Behavior" />
				<attribute name="default" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Connect Across Dividers" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="dimmedconnectionalpha" get="1" set="1" type="float" size="1">
			<digest>
				Dimmed Connection Alpha
			</digest>
			<description>
				Sets an alpha value to use for dimming patch lines not connected to the current input or output under the mouse cursor. A value of 0 would erase the lines completely, and a value of 1 (the default) would not perform any dimming. A suggested value of <at>dimmedconnectionalpha</at> to see the highlighting effect is 0.5.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Behavior" />
				<attribute name="default" get="1" set="1" type="float" size="1" value="1." />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Dimmed Connection Alpha" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</attribute>
		<attribute name="dividercolor" get="1" set="1" type="float" size="4">
			<digest>
				Divider Color
			</digest>
			<description>
				Sets the color used to draw visual dividers.
			</description>
			<attributelist>
				<attribute name="attr_attr_save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="basic" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Color" />
				<attribute name="dynamiccolor_default" get="1" set="1" type="symbol" size="1" value="elementcolor" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Divider Color" />
				<attribute name="order" get="1" set="1" type="int" size="1" value="4" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="preview" get="1" set="1" type="symbol" size="1" value="rect_frame" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="set" get="1" set="1" type="pointer" size="1" value="pointer" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="rgba" />
				<attribute name="stylemap" get="1" set="1" type="symbol" size="1" value="elementcolor" />
			</attributelist>
		</attribute>
		<attribute name="dividers" get="1" set="1" type="atom" size="1">
			<digest>
				Dividers
			</digest>
			<description>
				To group inputs or outputs visually you can draw horizontal lines across the <o>crosspatch</o> object with the <at>dividers</at> attribute. Dividers are defined using either the word <m>in</m> or <m>out</m> followed by an index. The resulting vertical position of the line will be <i>after</i> the specified input or output. Note that divider lines are always horizontal so if the number of inputs and outputs is not equal, a divider defined by an input may cross an output or vice versa. You can prevent connections across the horizontal divider lines by enabling the <at>connectacrossdividers</at> attribute.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Appearance" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Dividers" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</attribute>
		<attribute name="embed" get="1" set="1" type="int" size="1">
			<digest>
				Save Connections with Patcher
			</digest>
			<description>
				If <at>embed</at> is true, connections are saved with the patcher and restored when reloading it. All attributes (including <at>embed</at>) are always saved with the object.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Behavior" />
				<attribute name="default" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Save Connections with Patcher" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="exclusive" get="1" set="1" type="int" size="1">
			<digest>
				Exclusive Connections
			</digest>
			<description>
				The <at>exclusive</at> attribute controls whether multiple connections from a single input or to a single output are permitted. When connecting <o>crosspatch</o> to a <o>gate~</o> or <o>selector~</o>, <at>exclusive</at> is automatically turned on. When connecting <o>crosspatch</o> to a matrix object, <at>exclusive</at> is turned off.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Behavior" />
				<attribute name="default" get="1" set="1" type="int" size="1" value="0" />
				<attribute name="enumvals" get="1" set="1" type="atom" size="4">
					<enumlist>
						<enum name="Off">
							<digest>
								No connection restrictions
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="Inputs">
							<digest>
								Multiple connections from the same input are prevented
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="Outputs">
							<digest>
								Multiple connections to the same output are prevented
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="Inputs + Outputs">
							<digest>
								Multiple connections from the same input <i>and</i> multiple connections to the same outlet are prevented.
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
					</enumlist>
				</attribute>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Exclusive Connections" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="enumindex" />
			</attributelist>
		</attribute>
		<attribute name="gaincaption" get="1" set="1" type="int" size="1">
			<digest>
				Gain Value Display
			</digest>
			<description>
				The <at>gaincaption</at> attribute enables showing the numerical value of the gain control as it is changed.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Appearance" />
				<attribute name="default" get="1" set="1" type="int" size="1" value="0" />
				<attribute name="enumvals" get="1" set="1" type="atom" size="3">
					<enumlist>
						<enum name="Off">
							<digest>
								No value display
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="dB">
							<digest>
								Display value in dB
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="Amplitude">
							<digest>
								Display numerical value
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
					</enumlist>
				</attribute>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Gain Value Display" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="enumindex" />
			</attributelist>
		</attribute>
		<attribute name="gaindragmode" get="1" set="1" type="int" size="1">
			<digest>
				Gain Drag Mode
			</digest>
			<description>
				Sets how vertical mouse movement translates into changes in gain, particularly at the low end of the amplitude range.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Behavior" />
				<attribute name="default" get="1" set="1" type="int" size="1" value="0" />
				<attribute name="enumvals" get="1" set="1" type="atom" size="2">
					<enumlist>
						<enum name="Linear">
							<digest>
								Linear gain control
							</digest>
							<description>
								This setting maintains a constant relationship between the vertical mouse position when dragging and the amplitude value.
							</description>
						</enum>
						<enum name="dB">
							<digest>
								dB gain control
							</digest>
							<description>
								This setting increments or decrements the gain value by a proportion of the mouse position in dB when dragging. This mode provides slightly coarser resolution at the top end of the amplitude range and slightly finer resolution at the bottom of the amplitude range, which is more perceptually linear in most cases.
							</description>
						</enum>
					</enumlist>
				</attribute>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Gain Drag Mode" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="enumindex" />
			</attributelist>
		</attribute>
		<attribute name="gainradius" get="1" set="1" type="float" size="1">
			<digest>
				Gain Circle Radius
			</digest>
			<description>
				Sets the size of the circle used for the connection gain control.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Appearance" />
				<attribute name="default" get="1" set="1" type="float" size="1" value="7." />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Gain Circle Radius" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</attribute>
		<attribute name="gainstyle" get="1" set="1" type="int" size="1">
			<digest>
				Gain Style
			</digest>
			<description>
				Sets the visual appearance of the circular gain control
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Appearance" />
				<attribute name="default" get="1" set="1" type="int" size="1" value="0" />
				<attribute name="enumvals" get="1" set="1" type="atom" size="2">
					<enumlist>
						<enum name="Dial">
							<digest>
								270 degree arc
							</digest>
							<description>
								When the <at>gainstyle</at> attribute is set to <m>Dial</m> (0), a value of 1.0 is a 270-degree arc similar to the pie segement mode of the Max dial.
							</description>
						</enum>
						<enum name="Full Circle">
							<digest>
								(Almost) 360 degree arc
							</digest>
							<description>
								When the <at>gainstyle</at> attribute is set to <m>Full Circle</m> (1), a value of 1.0 is a 360-degree arc.
							</description>
						</enum>
					</enumlist>
				</attribute>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Gain Style" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="enumindex" />
			</attributelist>
		</attribute>
		<attribute name="incolormap" get="1" set="1" type="atom" size="1">
			<digest>
				Input Color Map
			</digest>
			<description>
				The <at>incolormap</at> attribute maps specific colors to inputs. The <at>linecolor</at> is index 1 and the candycane colors are indices 2 - 8. Example: <m>incolormap 1 5 4 2</m> assigns <at>linecolor</at> to the first input, <at>candycane5</at> to the second input, <at>candycane4</at> to input 3, and <at>candycane2</at> to input 4. Any inputs not included in the <at>incolormap</at> retain their default color assignment according to the <at>candycane</at> attribute.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Color" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Input Color Map" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</attribute>
		<attribute name="initialgain" get="1" set="1" type="float" size="1">
			<digest>
				Initial Connection Gain
			</digest>
			<description>
				Sets the initial gain used when making connections. Since a zero gain means &quot;disconnect&quot; to the <o>matrix~</o> object, the <at>initialgain</at> cannot be zero, but can be very close to zero -- a minimum of -70 dB)
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Behavior" />
				<attribute name="default" get="1" set="1" type="float" size="1" value="1." />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Initial Connection Gain" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</attribute>
		<attribute name="inlabels" get="1" set="1" type="atom" size="1">
			<digest>
				Input Labels
			</digest>
			<description>
				Use <at>inlabels</at> to override some or all of the default &quot;In N&quot; labels displayed for connection inputs.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Appearance" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Input Labels" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="text_large" />
			</attributelist>
		</attribute>
		<attribute name="labelheight" get="1" set="1" type="float" size="1">
			<digest>
				Min Label Height
			</digest>
			<description>
				Sets the minimum height of one input or output in the UI.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Appearance" />
				<attribute name="default" get="1" set="1" type="float" size="1" value="20." />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Min Label Height" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</attribute>
		<attribute name="labelwidth" get="1" set="1" type="float" size="1">
			<digest>
				Min Label Width
			</digest>
			<description>
				Sets the minimum width for input and output labels used when laying out the UI of <o>crosspatch</o>.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Appearance" />
				<attribute name="default" get="1" set="1" type="float" size="1" value="80." />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Min Label Width" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</attribute>
		<attribute name="linecolor" get="1" set="1" type="float" size="4">
			<digest>
				Line Color
			</digest>
			<description>
				Sets the color used for connections.
			</description>
			<attributelist>
				<attribute name="attr_attr_save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="basic" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Color" />
				<attribute name="dynamiccolor_default" get="1" set="1" type="symbol" size="1" value="color" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Line Color" />
				<attribute name="order" get="1" set="1" type="int" size="1" value="2" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="preview" get="1" set="1" type="symbol" size="1" value="wave" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="set" get="1" set="1" type="pointer" size="1" value="pointer" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="rgba" />
				<attribute name="stylemap" get="1" set="1" type="symbol" size="1" value="color" />
			</attributelist>
		</attribute>
		<attribute name="maxgain" get="1" set="1" type="float" size="1">
			<digest>
				Max Gain
			</digest>
			<description>
				The <at>maxgain</at> attribute sets the maximum permitted gain using circular gain controls on connection patch cords. Note that <at>maxgain</at> does not affect gain values set via the <m>list</m> message.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Behavior" />
				<attribute name="default" get="1" set="1" type="float" size="1" value="1." />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Max Gain" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</attribute>
		<attribute name="numins" get="1" set="1" type="int" size="1">
			<digest>
				Number of Inputs
			</digest>
			<description>
				The <at>numouts</at> attribute set the number of outputs shown. In two-way mode, this attribute is set by the client object and cannot be changed.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Behavior" />
				<attribute name="default" get="1" set="1" type="int" size="1" value="4" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Number of Inputs" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</attribute>
		<attribute name="numouts" get="1" set="1" type="int" size="1">
			<digest>
				Number of Outputs
			</digest>
			<description>
				The <at>numouts</at> attribute sets the number of outputs shown. In two-way mode, this attribute is set by the client object and cannot be changed.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Behavior" />
				<attribute name="default" get="1" set="1" type="int" size="1" value="4" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Number of Outputs" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</attribute>
		<attribute name="outcolormap" get="1" set="1" type="atom" size="1">
			<digest>
				Output Color Map
			</digest>
			<description>
				The <at>outcolormap</at> attribute maps specific colors to outputs. The <at>linecolor</at> is index 1 and the candycane colors are indices 2 - 8. Example: <m>outcolormap 3 5 1 2</m> assigns <at>candycane3</at> to the first output, <at>candycane5</at> to the second output, <at>linecolor</at> to input 3, and <at>candycane2</at> to output 4. Any outputs not included in the <at>outcolormap</at> retain their default color assignment according to the <at>candycane</at> attribute.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Color" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Output Color Map" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</attribute>
		<attribute name="outlabels" get="1" set="1" type="atom" size="1">
			<digest>
				Output Labels
			</digest>
			<description>
				Use <at>outlabels</at> to override some or all of the default &quot;Out N&quot; labels displayed for connection outputs.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Appearance" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Output Labels" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="text_large" />
			</attributelist>
		</attribute>
		<attribute name="overgaincolor" get="1" set="1" type="float" size="4">
			<digest>
				Over Unity Gain Color
			</digest>
			<description>
				When the <at>maxgain</at> is above 1, you can set the gain for any connection above unity. Use the <at>overgaincolor</at> attribute to set color to for any gain values above 1.0.
			</description>
			<attributelist>
				<attribute name="attr_attr_save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Color" />
				<attribute name="defaultname" get="1" set="1" type="float" size="4" value="1. 0.561 0.349 1." />
				<attribute name="dynamiccolor_default" get="1" set="1" type="symbol" size="1" value="" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Over Unity Gain Color" />
				<attribute name="order" get="1" set="1" type="int" size="1" value="5" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="rgba" />
			</attributelist>
		</attribute>
		<attribute name="parameter_enable" get="1" set="1" type="int" size="1">
			<digest>
				Parameter Mode Enable
			</digest>
			<description>
				Enables parameter mode
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Parameter" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Parameter Mode Enable" />
				<attribute name="order" get="1" set="1" type="int" size="1" value="5" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="parameter_mappable" get="1" set="1" type="int" size="1">
			<digest>
				Visible to Mapping
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Parameter" />
				<attribute name="default" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Visible to Mapping" />
				<attribute name="order" get="1" set="1" type="int" size="1" value="10" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="preservegain" get="1" set="1" type="int" size="1">
			<digest>
				Preserve Exclusive Gain
			</digest>
			<description>
				When <at>exclusive</at> is set to <m>Outputs</m> (2) or <m>Inputs + Outputs</m> (3), any connection to an output will delete an existing connection to the same output. If <at>preservegain</at> is enabled, the gain of the now deleted connection will be transferred to the new connection.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Behavior" />
				<attribute name="default" get="1" set="1" type="int" size="1" value="0" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Preserve Exclusive Gain" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="showgain" get="1" set="1" type="int" size="1">
			<digest>
				Show Gain Controls
			</digest>
			<description>
				Use the <at>showgain</at> attribute to control the display of circular gain controls on patch cords.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Appearance" />
				<attribute name="default" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="enumvals" get="1" set="1" type="atom" size="3">
					<enumlist>
						<enum name="Off">
							<digest>
								Never show gain controls
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="Only if Not Unity Gain">
							<digest>
								Show a gain control only if the gain of the connection is not 1.0 (unity)
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="Always">
							<digest>
								Always show a gain control regardless of value
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
					</enumlist>
				</attribute>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Show Gain Controls" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="enumindex" />
			</attributelist>
		</attribute>
		<attribute name="showlabels" get="1" set="1" type="int" size="1">
			<digest>
				Show Labels
			</digest>
			<description>
				Sets whether input and output labels are shown (1) or hidden (0).
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Appearance" />
				<attribute name="default" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Show Labels" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="style" get="1" set="1" type="symbol" size="1">
			<digest>
				Style
			</digest>
			<description>
				Sets the <link type="vignette" module="core" name="styles">style</link> to be applied to the object. Styles can be set using the <link type="vignette" module="core" name="format_palette">Format palette</link>.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="symbol" size="1" value="Appearance" />
				<attribute name="default" get="1" set="1" type="symbol" size="1" value="" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Style" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="style" />
			</attributelist>
		</attribute>
		<attribute name="textcolor" get="1" set="1" type="float" size="4">
			<digest>
				Text Color
			</digest>
			<description>
				Sets the default color of the input and output labels. When the <at>colorlabels</at> attribute is enabled, connection colors are used for the text labels.
			</description>
			<attributelist>
				<attribute name="attr_attr_save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="basic" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Color" />
				<attribute name="dynamiccolor_default" get="1" set="1" type="symbol" size="1" value="textcolor_inverse" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Text Color" />
				<attribute name="order" get="1" set="1" type="int" size="1" value="3" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="preview" get="1" set="1" type="symbol" size="1" value="text_letter" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="set" get="1" set="1" type="pointer" size="1" value="pointer" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="rgba" />
				<attribute name="stylemap" get="1" set="1" type="symbol" size="1" value="textcolor_inverse" />
			</attributelist>
		</attribute>
	</attributelist>
	<!--EXAMPLE-->
	<examplelist>
		<example caption="" img="" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="gate~" />
		<seealso name="matrix" />
		<seealso name="matrix~" />
		<seealso name="matrixctrl" />
		<seealso name="selector~" />
	</seealsolist>
	<discussion>
		When <o>crosspatch</o> is connected to a single client object, it operates in <i>two-way mode</i>. In this mode, <o>crosspatch</o> can change the client object <i>and</i> changes to the connected object are reflected in the visual state of <o>crosspatch</o>. In <i>two-way mode</i>, you cannot change the number of inputs or outputs of <o>crosspatch</o>; it will always show the number of inputs and outputs of the connected object. When <o>crosspatch</o> is connected to two or more matrix objects, it operates in <i>one-way mode</i>. In this mode, changes to the matrix objects other by the UI of <o>crosspatch</o> are <i>not</i> reflected in the visual state, and you can change the number of inputs and outputs freely. This means the UI and the underlying state of the objects it is controlling could get out of sync. To avoid this, use <o>crosspatch</o> in <i>two-way mode</i> only.
		<br />
		When you connect <o>crosspatch</o> to an <o>mc.matrix</o> object (which is multiple instances of <o>matrix~</o> in the MC Wrapper), the state of all contained <o>matrix~</o> instances will change together. You cannot use <o>crosspatch</o> to edit individual <o>matrix~</o> objects within an <o>mc.matrix</o>.
	</discussion>
</c74object>
