<?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="router" module="max" category="Control">
	<digest>
		Route messages to multiple locations
	</digest>
	<description />
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			Max
		</metadata>
		<metadata name="tag">
			Control
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="INLET_TYPE">
			<digest>
				connect, disconnect, patch, clear, dump, print
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="INLET_TYPE">
			<digest>
				inlet 0
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="OUTLET_TYPE">
			<digest>
				outlet 0
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="1" type="OUTLET_TYPE">
			<digest>
				dumpout
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
	</outletlist>
	<!--ARGUMENTS-->
	<objarglist>
		<objarg name="inlets" optional="0" type="int">
			<digest>
				Number of inlets
			</digest>
			<description>
				Sets the number of inlets
			</description>
		</objarg>
		<objarg name="outlets" optional="0" type="int">
			<digest>
				Number of outlets
			</digest>
			<description>
				Sets the number of outlets
			</description>
		</objarg>
	</objarglist>
	<!--MESSAGES-->
	<methodlist>
		<method name="bang">
			<arglist />
			<digest>
				Route to all connected outlets
			</digest>
			<description>
				<m>bang</m> received in any but the leftmost inlet will be sent to all outlets that are connected to that inlet.
			</description>
		</method>
		<method name="int">
			<arglist>
				<arg name="input" optional="0" type="int" />
			</arglist>
			<digest>
				Route to all connected outlets
			</digest>
			<description>
				An integer received in any but the leftmost inlet will be sent to all outlets that are connected to that inlet.
			</description>
		</method>
		<method name="float">
			<arglist>
				<arg name="input" optional="0" type="float" />
			</arglist>
			<digest>
				Route to all connected outlets
			</digest>
			<description>
				floating-point number received in any but the leftmost inlet will be sent to all outlets that are connected to that inlet.
			</description>
		</method>
		<method name="list">
			<arglist>
				<arg name="inlet" optional="0" type="int" />
				<arg name="outlet" optional="0" type="int" />
				<arg name="state" optional="0" type="int" />
			</arglist>
			<digest>
				Set connection state
			</digest>
			<description>
				A list of three numbers received in the left inlet is interpreted as specifying an inlet number, an outlet number, and a 0 or 1 specifying the state of a connection. A list in this form changes the inlet and outlet connections of the <o>router</o> object.
				<br />
				<br />
				A list received in any other inlet will be sent to all outlets that are connected to that inlet.
			</description>
		</method>
		<method name="anything">
			<arglist>
				<arg name="input" optional="0" type="list" />
			</arglist>
			<digest>
				Route to all connected outlets
			</digest>
			<description>
				Any Max message received in any but the leftmost inlet will be sent to all outlets that are connected to that inlet.
			</description>
		</method>
		<method name="disconnect">
			<arglist>
				<arg name="inlet" optional="0" type="int" />
				<arg name="outlet" optional="0" type="int" />
			</arglist>
			<digest>
				Disconnect an inlet from an outlet
			</digest>
			<description>
				The word <m>disconnect</m>, followed by two numbers that specify inlet and outlet numbers, disconnects an inlet from an outlet.
			</description>
		</method>
		<method name="dump">
			<arglist>
				<arg name="arguments" optional="0" type="list" />
			</arglist>
			<digest>
				Report matrix state
			</digest>
			<description>
				Sends the state of the object's switching matrix out the right outlet as a series of single line lists in the form <m>inlet-number outlet-number state</m>.
			</description>
		</method>
		<method name="clear">
			<arglist>
				<arg name="arguments" optional="0" type="list" />
			</arglist>
			<digest>
				Clear connection matrix state
			</digest>
			<description>
				Clears the state of the switching matrix, All inlets are disconnected from all outlets.
			</description>
		</method>
		<method name="connect">
			<arglist>
				<arg name="inlet" optional="0" type="int" />
				<arg name="outlet" optional="0" type="int" />
			</arglist>
			<digest>
				Connect an inlet to an outlet
			</digest>
			<description>
				The word <m>connect</m>, followed by two numbers that specify inlet and outlet numbers, connects an inlet to an outlet. Multiple inlets can be connected to multiple outlets, and vice versa.
			</description>
		</method>
		<method name="patch">
			<arglist>
				<arg name="inlet" optional="0" type="int" />
				<arg name="outlet" optional="0" type="int" />
			</arglist>
			<digest>
				Exclusively connect an inlet to an outlet
			</digest>
			<description>
				The word <m>patch</m>, followed by two numbers that specify inlet and outlet numbers, connects an inlet to an outlet and disconnects all other inlets that are currently connected to that outlet
			</description>
		</method>
		<method name="print">
			<arglist>
				<arg name="arguments" optional="0" type="list" />
			</arglist>
			<digest>
				Report matrix state to the Max Console
			</digest>
			<description>
				Prints the state of the switching matrix in the Max Console.
			</description>
		</method>
	</methodlist>
	<!--ATTRIBUTES-->
	<!--EXAMPLE-->
	<examplelist>
		<example img="router.png" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="matrixctrl" />
		<seealso name="basicchapter21" module="max" type="tutorial" />
		<seealso name="jitterchapter13" module="jit" type="tutorial" />
		<seealso name="jitterchapter26" module="jit" type="tutorial" />
	</seealsolist>
	<discussion>
		It is designed to work best with the <o>matrixctrl</o> user interface object, and uses a syntax equivalent to the MSP <o>matrix~</o> object.
	</discussion>
	<misc name="Output">
		<entry name="anything">
			<description>
				Any message received in any but the leftmost inlet will be routed to the outlet to which the inlet is currently connected. The router objects passes messages only; it will not pass signals or Jitter matrices.
			</description>
		</entry>
		<entry name="list">
			<description>
				Out right outlet: a series of single-line lists (one for each inlet) in the form <m>inlet-number outlet-number state</m> is sent out the right outlet of the router object in response to a <m>dump</m> message.
			</description>
		</entry>
	</misc>
</c74object>
