<?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="mira.multitouch" module="Mira" category="Mira">
	<digest>
		Receive touch and gesture data from touchscreen.
	</digest>
	<description>
		Mira.multitouch receives touch and gesture data from a multitouch device. It will output the position and state of as many touches as are supported by the device. When enabled, it will also output a message when a device gesture is recognized, as well as the state of that gesture. Mira.multitouch can recognize tap, swipe, rotation and pinch gestures. The mira.mt abstrations are useful for processing and filtering the messages output by mira.multitouch.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			Mira
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<!--OUTLETS-->
	<!--ARGUMENTS-->
	<objarglist>
	</objarglist>
	<!--MESSAGES-->
	<!--ATTRIBUTES-->
	<attributelist>
		<attribute name="hsegments" get="1" set="1" type="atom_long" size="1">
			<digest>
				Horizontal Regions
			</digest>
			<description>
				Number of horizontal divisions of the mira.multitouch object
			</description>
			<attributelist>
				<attribute name="default" get="1" set="1" type="atom_long" size="1" value="1" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Horizontal Regions" />
				<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="local_circles" get="1" set="1" type="atom_long" size="1">
			<digest>
				Draw Touches in Patcher
			</digest>
			<description>
				When enabled, touches received from connected devices will be displayed as circles in the mira.multitouch object.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Appearance" />
				<attribute name="default" get="1" set="1" type="atom_long" size="1" value="1" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Draw Touches in 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="pinch_enabled" get="1" set="1" type="atom_long" size="1">
			<digest>
				Detect Pinch Gestures
			</digest>
			<description>
				When enabled, mira.multitouch will detect pinch gestures
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Gestures" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Detect Pinch Gestures" />
				<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="remote_circles" get="1" set="1" type="atom_long" size="1">
			<digest>
				Draw Touches on Device
			</digest>
			<description>
				Wen enabled, the mira.multitouch interface object in Mira will draw circles under detected touches.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Appearance" />
				<attribute name="default" get="1" set="1" type="atom_long" size="1" value="1" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Draw Touches on Device" />
				<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="remote_gestures" get="1" set="1" type="atom_long" size="1">
			<digest>
				Draw Remote Gestures
			</digest>
			<description>
				When enabled, the mira.multitouch interface object in Mira will draw indications of recognized gestures.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Appearance" />
				<attribute name="default" get="1" set="1" type="atom_long" size="1" value="1" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Draw Remote Gestures" />
				<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="rotate_enabled" get="1" set="1" type="atom_long" size="1">
			<digest>
				Detect Rotation Gestures
			</digest>
			<description>
				When enabled, mira.multitouch will detect rotation gestures
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Gestures" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Detect Rotation Gestures" />
				<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="swipe_enabled" get="1" set="1" type="atom_long" size="1">
			<digest>
				Detect Swipe Gestures
			</digest>
			<description>
				When enabled, mira.multitouch will detect swipe gestures
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Gestures" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Detect Swipe Gestures" />
				<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="swipe_touch_count" get="1" set="1" type="atom_long" size="1">
			<digest>
				Touches Required for Swipe
			</digest>
			<description>
				Number of fingers that must participate in a swipe gesture for it to be recognized.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Gestures" />
				<attribute name="enumvals" get="1" set="1" type="atom" size="4">
					<enumlist>
						<enum name="1">
							<digest>
								One finger
							</digest>
							<description>
								One finger
							</description>
						</enum>
						<enum name="2">
							<digest>
								Two fingers
							</digest>
							<description>
								Two fingers
							</description>
						</enum>
						<enum name="3">
							<digest>
								Three fingers
							</digest>
							<description>
								Three fingers
							</description>
						</enum>
						<enum name="4">
							<digest>
								Four fingers
							</digest>
							<description>
								Four fingers
							</description>
						</enum>
					</enumlist>
				</attribute>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Touches Required for Swipe" />
				<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="tap_enabled" get="1" set="1" type="atom_long" size="1">
			<digest>
				Detect Tap Gestures
			</digest>
			<description>
				When enabled, mira.multitouch will detect tap gestures
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Gestures" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Detect Tap Gestures" />
				<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="tap_tap_count" get="1" set="1" type="atom_long" size="1">
			<digest>
				Taps Required for Tap
			</digest>
			<description>
				Whether mira.multitouch will recognize single, double, triple or quadruple taps
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Gestures" />
				<attribute name="enumvals" get="1" set="1" type="atom" size="4">
					<enumlist>
						<enum name="1">
							<digest>
								Single tap
							</digest>
							<description>
								Single tap
							</description>
						</enum>
						<enum name="2">
							<digest>
								Double tap
							</digest>
							<description>
								Double tap
							</description>
						</enum>
						<enum name="3">
							<digest>
								Triple tag
							</digest>
							<description>
								Triple tap
							</description>
						</enum>
						<enum name="4">
							<digest>
								Quadruple tap
							</digest>
							<description>
								Quadruple tap
							</description>
						</enum>
					</enumlist>
				</attribute>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Taps Required for Tap" />
				<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="tap_touch_count" get="1" set="1" type="atom_long" size="1">
			<digest>
				Touches Required for Tap
			</digest>
			<description>
				Number of fingers that must participate in a tap gesture for it to be recognized.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Gestures" />
				<attribute name="enumvals" get="1" set="1" type="atom" size="4">
					<enumlist>
						<enum name="1">
							<digest>
								One finger
							</digest>
							<description>
								One finger
							</description>
						</enum>
						<enum name="2">
							<digest>
								Two fingers
							</digest>
							<description>
								Two fingers
							</description>
						</enum>
						<enum name="3">
							<digest>
								Three fingers
							</digest>
							<description>
								Three fingers
							</description>
						</enum>
						<enum name="4">
							<digest>
								Four fingers
							</digest>
							<description>
								Four fingers
							</description>
						</enum>
					</enumlist>
				</attribute>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Touches Required for Tap" />
				<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="vsegments" get="1" set="1" type="atom_long" size="1">
			<digest>
				Vertical Regions
			</digest>
			<description>
				Number of horizontal divisions of the mira.multitouch object
			</description>
			<attributelist>
				<attribute name="default" get="1" set="1" type="atom_long" size="1" value="1" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Vertical Regions" />
				<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>
	</attributelist>
	<!--EXAMPLE-->
	<examplelist>
		<example caption="You can use the mira.mt abstractions to help you work with mira.multitouch data" img="mira.multitouch.png" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="mira.frame" />
		<seealso name="mira.motion" />
		<seealso name="mira.status" />
	</seealsolist>
</c74object>
