<?xml version='1.0' encoding='utf-8' standalone='yes'?>
<?xml-stylesheet href="./_c74_ref.xsl" type="text/xsl"?>

<c74object name='MIAP.map'>

	<digest>
		GUI for MIAP and MIAP~
	</digest>


	<!--METADATA-->
	<metadatalist>
		<metadata name='author'>Zachary Seldess</metadata>
		<metadata name='tag'>Max</metadata>
		<metadata name='tag'>UI</metadata>
	</metadatalist>


	<!--INLETS-->
	<!-- <inletlist>
		<inlet id="0" type="message">
			<digest>Messages to MIAP.map</digest>
		</inlet>
	</inletlist> -->


	<!--OUTLETS-->
	<!-- <outletlist>
		<outlet id="0" type="message">
			<digest>Info outlet</digest>
		</outlet>
	</outletlist> -->


	<!--ARGUMENTS-->
	<objarglist>
	</objarglist>


	<!--MESSAGES-->
	<methodlist>
		<method name="coords">
			<arglist>
				<arg name="x/y coordinates" optional="0" type="list"/>
			</arglist>
			<digest>
				Set mouse node x/y coordinates
			</digest>
			<description>
				Set mouse node x/y coordinates.
			</description>
		</method>
		<method name="get_coords">
			<digest>
				Get mouse node x/y coordinates
			</digest>
			<description>
				Get mouse node x/y coordinates.
			</description>
		</method>
	</methodlist>


	<!--ATTRIBUTES-->
	<attributelist>
		<!--Behavior Category-->
		<attribute name='name' get='1' set='1' type='symbol' size='1'>
			<digest>
				MIAP/MIAP~ name
			</digest>
			<description>
				MIAP/MIAP~ name.
			</description>
		</attribute>
		<attribute name='map' get='1' set='1' type='int' size='1'>
			<digest>
				MIAP/MIAP~ map
			</digest>
			<description>
				MIAP/MIAP~ map (0 = A, 1 = B).
			</description>
		</attribute>
		<attribute name='reporthints' get='1' set='1' type='int' size='1'>
			<digest>
				Report map interaction hints out of left outlet
			</digest>
			<description>
				Report map interaction hints out of left outlet (0 = off, 1 = on, default 0).
			</description>
		</attribute>
		<attribute name='reportmessages' get='1' set='1' type='int' size='1'>
			<digest>
				Report messages internally sent to MIAP/MIAP~ objects with the same <m>name</m> attribute out of left outlet
			</digest>
			<description>
				Report messages internally sent to MIAP/MIAP~ objects with the same <m>name</m> attribute out of left outlet (0 = off, 1 = on, default 0).
			</description>
		</attribute>
		<attribute name='mode' get='1' set='1' type='int' size='1'>
			<digest>
				Interaction mode
			</digest>
			<description>
				Interaction mode: 0 = audition, 1 = create_nodes, 2 = create_trisets, 3 = create_links, 4 = edit_nodes, 5 = edit_links
				<ul>
					<li>
						<b>audition (0)</b>
						<br />
						Click/drag to move the mouse node.
					</li>
					<li>
						<b>create_nodes (1)</b>
						<br /> 
						Click to create a node.
						<br />
						Shift-click on an existing node to delete it.
					</li>
					<li>
						<b>create_trisets (2)</b>
						<br />
						Mouse-over to view potential trisets to create/delete.
						<br />
						Click on a potential triset to create it.
						<br />
						Click on an existing triset to delete it.
					</li>
					<li>
						<b>create_links (3)</b>
						<br />
						Create a virtual node link by clicking on a virtual node followed by a speaker or silent node.
						<br />
						Create a derived node link by clicking on a derived node followed by a speaker node.
						<br />
						To link multiple nodes to one virtual or derived node, hold shift while clicking on an unlinked speaker/silent node.
						<br />
						To delete an existing link, click on a primary node (virtual or derived node) and then hold shift while clicking on a linked speaker/silent node.
					</li>
					<li>
						<b>edit_nodes (4)</b>
						<br />
						Click on a node to select it.
						<br />
						To select multiple nodes:
						<br />
						-- Hold shift while clicking on an unselected node.
						<br />
						-- Click and drag starting on a point without a node to create a rectangular selection window.
						<br />
						To un-select a selected node, hold shift while clicking on the selected node.
						<br />
						Click and drag starting on a selected node to move selected nodes around.
						<br />
						Set the <m>nodetype</m>, <m>nodechannel</m>, and/or <m>nodetrim</m> attributes to update selected nodes.
						<br />
						Press the delete key to delete selected nodes.
					</li>
					<li>
						<b>edit_links (5)</b>
						<br />
						Select a link by clicking on a primary node (virtual or derived node) followed by one of its linked nodes (speaker or silent node).
						<br />
						To select multiple links for a single primary node, hold shift while clicking on a linked node.
						<br />
						To un-select a selected link, hold shift while clicking on a linked node.
						<br />
						Set the <m>linkweight</m> attribute to update selected links.
						<br />
						Press the delete key to delete selected links.
					</li>
				</ul>
			</description>
		</attribute>
		<attribute name='nodetype' get='1' set='1' type='int' size='1'>
			<digest>
				Node type
			</digest>
			<description>
				Node type (1 = speaker, 2 = virtual, 3 = derived, 4 = silent).
			</description>
		</attribute>
		<attribute name='nodechannel' get='1' set='1' type='int' size='1'>
			<digest>
				Speaker/derived node channel
			</digest>
			<description>
				Speaker/derived node channel.
			</description>
		</attribute>
		<attribute name='nodetrim' get='1' set='1' type='float' size='1'>
			<digest>
				Speaker/derived node trim
			</digest>
			<description>
				Speaker/derived node trim (range 0. to 10., default 1.).
			</description>
		</attribute>
		<attribute name='linkweight' get='1' set='1' type='float' size='1'>
			<digest>
				Virtual/derived node link weight
			</digest>
			<description>
				Virtual/derived node link weight (range 0. to 10., default 1.).
			</description>
		</attribute>

		<!--Display Category-->
		<attribute name='cartesiangrid' get='1' set='1' type='int' size='1'>
			<digest>
				Display cartesian grid
			</digest>
			<description>
				Display cartesian grid (0 = off, 1 = on, default 0).
			</description>
		</attribute>
		<attribute name='cartesiangridsnap' get='1' set='1' type='int' size='1'>
			<digest>
				Snap to cartesian grid
			</digest>
			<description>
				Snap to cartesian grid (0 = off, 1 = on, default 0).
			</description>
		</attribute>
		<attribute name='cartesianxdiv' get='1' set='1' type='int' size='1'>
			<digest>
				Cartesian grid x divisions
			</digest>
			<description>
				Cartesian grid x divisions (range 1 to 100, default 50).
			</description>
		</attribute>
		<attribute name='cartesianydiv' get='1' set='1' type='int' size='1'>
			<digest>
				Cartesian grid y divisions
			</digest>
			<description>
				Cartesian grid y divisions (range 1 to 100, default 50).
			</description>
		</attribute>
		<attribute name='gainsmode' get='1' set='1' type='int' size='1'>
			<digest>
				Gains display mode
			</digest>
			<description>
				Gains display mode for speaker/derived node trims and derived node link weights (0 = linear, 1 = decibels, default 0).
			</description>
		</attribute>
		<attribute name='linkarrows' get='1' set='1' type='int' size='1'>
			<digest>
				Display virtual/derived node link arrows
			</digest>
			<description>
				Display virtual/derived node link arrows (0 = off, 1 = on, default 1).
			</description>
		</attribute>
		<attribute name='linkarrowsize' get='1' set='1' type='float' size='1'>
			<digest>
				Virtual/derived node link arrow size
			</digest>
			<description>
				Virtual/derived node link arrow size (range 10. to 40., default 15.).
			</description>
		</attribute>
		<attribute name='linklinewidth' get='1' set='1' type='float' size='1'>
			<digest>
				Virtual/derived node link line width
			</digest>
			<description>
				Virtual/derived node link line width (range 1. to 20., default 2.).
			</description>
		</attribute>
		<attribute name='links' get='1' set='1' type='int' size='1'>
			<digest>
				Display virtual/derived node links
			</digest>
			<description>
				Display virtual/derived node links (0 = off, 1 = on, default 1).
			</description>
		</attribute>
		<attribute name='linkweights' get='1' set='1' type='int' size='1'>
			<digest>
				Display virtual/derived node link weights
			</digest>
			<description>
				Display virtual/derived node link weights (0 = off, 1 = on, default 1).
			</description>
		</attribute>
		<attribute name='mnodescale' get='1' set='1' type='float' size='1'>
			<digest>
				Mouse node scale
			</digest>
			<description>
				Mouse node scale (range 0.01 to 1., default 0.015).
			</description>
		</attribute>
		<attribute name='nodechannels' get='1' set='1' type='int' size='1'>
			<digest>
				Display speaker/derived node channels
			</digest>
			<description>
				Display speaker/derived node channels (0 = off, 1 = on, default 1).
			</description>
		</attribute>
		<attribute name='nodeids' get='1' set='1' type='int' size='1'>
			<digest>
				Display node ids
			</digest>
			<description>
				Display node ids (0 = off, 1 = on, default 0).
			</description>
		</attribute>
		<attribute name='nodescale' get='1' set='1' type='float' size='1'>
			<digest>
				Speaker/virtual/derived/silent node scale
			</digest>
			<description>
				Speaker/virtual/derived/silent node scale (range 0.01 to 1., default 0.02).
			</description>
		</attribute>
		<attribute name='nodetrims' get='1' set='1' type='int' size='1'>
			<digest>
				Display speaker/derived node trims
			</digest>
			<description>
				Display speaker/derived node trims (0 = off, 1 = on, default 1).
			</description>
		</attribute>
		<attribute name='polarcondiv' get='1' set='1' type='int' size='1'>
			<digest>
				Polar grid concentric divisions
			</digest>
			<description>
				Polar grid concentric divisions (range 1 to 100, default 15).
			</description>
		</attribute>
		<attribute name='polargrid' get='1' set='1' type='int' size='1'>
			<digest>
				Display polar grid
			</digest>
			<description>
				Display polar grid (0 = off, 1 = on, default 0).
			</description>
		</attribute>
		<attribute name='polargridsnap' get='1' set='1' type='int' size='1'>
			<digest>
				Snap to polar grid
			</digest>
			<description>
				Snap to polar grid (0 = off, 1 = on, default 0).
			</description>
		</attribute>
		<attribute name='polarraddiv' get='1' set='1' type='int' size='1'>
			<digest>
				Polar grid radial divisions
			</digest>
			<description>
				Polar grid radial divisions (range 1 to 360, default 72).
			</description>
		</attribute>
		<attribute name='selectionlinewidth' get='1' set='1' type='float' size='1'>
			<digest>
				Selection line width
			</digest>
			<description>
				Selection line width (range 1. to 20., default 3.).
			</description>
		</attribute>
		<attribute name='textscale' get='1' set='1' type='float' size='1'>
			<digest>
				Text scale
			</digest>
			<description>
				Text scale (range 0.01 to 1., default 0.02).
			</description>
		</attribute>
		<attribute name='tlinklinewidth' get='1' set='1' type='float' size='1'>
			<digest>
				Trajectory link line width
			</digest>
			<description>
				Trajectory link line width (range 1. to 20., default 2.).
			</description>
		</attribute>
		<attribute name='tnodescale' get='1' set='1' type='float' size='1'>
			<digest>
				Trajectory node scale
			</digest>
			<description>
				Trajectory node scale (range 0.01 to 1., default 0.015).
			</description>
		</attribute>
		<attribute name='trajectory' get='1' set='1' type='int' size='1'>
			<digest>
				Display trajectory
			</digest>
			<description>
				Display trajectory (0 = off, 1 = on, default 1).
			</description>
		</attribute>
		<attribute name='trisetids' get='1' set='1' type='int' size='1'>
			<digest>
				Display triset ids
			</digest>
			<description>
				Display triset ids (0 = off, 1 = on, default 0).
			</description>
		</attribute>
		<attribute name='trisetlinewidth' get='1' set='1' type='float' size='1'>
			<digest>
				Triset line width
			</digest>
			<description>
				Triset line width (range 1. to 20., default 2.).
			</description>
		</attribute>

		<!--Color Category-->
		<attribute name='bgcolor' get='1' set='1' type='rgba' size='1'>
			<digest>
				Background color
			</digest>
			<description>
				Background color (default 1. 1. 1. 1.).
			</description>
		</attribute>
		<attribute name='dlinkcolor' get='1' set='1' type='rgba' size='1'>
			<digest>
				Derived link color
			</digest>
			<description>
				Derived link color (default 0. 0.7 0. 0.5).
			</description>
		</attribute>
		<attribute name='dlinktextcolor' get='1' set='1' type='rgba' size='1'>
			<digest>
				Derived link text color
			</digest>
			<description>
				Derived link text color (default 0. 0.7 0. 1.).
			</description>
		</attribute>
		<attribute name='dnodefill' get='1' set='1' type='rgba' size='1'>
			<digest>
				Derived node fill color
			</digest>
			<description>
				Derived node fill color (default 0. 0.7 0. 1.).
			</description>
		</attribute>
		<attribute name='gridcolor' get='1' set='1' type='rgba' size='1'>
			<digest>
				Grid color
			</digest>
			<description>
				Grid color (default 0.5 0.5 0.5 1.).
			</description>
		</attribute>
		<attribute name='mnodeborder' get='1' set='1' type='rgba' size='1'>
			<digest>
				Mouse node border color
			</digest>
			<description>
				Mouse node border color (default 0. 0. 0. 1.).
			</description>
		</attribute>
		<attribute name='mnodefill' get='1' set='1' type='rgba' size='1'>
			<digest>
				Mouse node fill color
			</digest>
			<description>
				Mouse node fill color (default 1. 1. 1. 1.).
			</description>
		</attribute>
		<attribute name='nodefill' get='1' set='1' type='rgba' size='1'>
			<digest>
				Speaker node fill color
			</digest>
			<description>
				Speaker node fill color (default 0. 0. 0. 1.).
			</description>
		</attribute>
		<attribute name='nodetextcolor' get='1' set='1' type='rgba' size='1'>
			<digest>
				Node text color
			</digest>
			<description>
				Node text color (default 0. 0. 0. 1.).
			</description>
		</attribute>
		<attribute name='selectioncolor' get='1' set='1' type='rgba' size='1'>
			<digest>
				Node/link selection color
			</digest>
			<description>
				Node/link selection color (default 1. 0. 0. 1.).
			</description>
		</attribute>
		<attribute name='snodefill' get='1' set='1' type='rgba' size='1'>
			<digest>
				Silent node fill color
			</digest>
			<description>
				Silent node fill color (default 0.7 0.7 0.7 1.).
			</description>
		</attribute>
		<attribute name='tlinkcolor' get='1' set='1' type='rgba' size='1'>
			<digest>
				Trajectory link color
			</digest>
			<description>
				Trajectory link color (default 0. 0. 0. 1.).
			</description>
		</attribute>
		<attribute name='tnodefill' get='1' set='1' type='rgba' size='1'>
			<digest>
				Trajectory node fill color
			</digest>
			<description>
				Trajectory node fill color (default 0. 0. 0. 1.).
			</description>
		</attribute>
		<attribute name='tlinktextcolor' get='1' set='1' type='rgba' size='1'>
			<digest>
				Trajectory link text color
			</digest>
			<description>
				Trajectory link text color (default 0. 0. 0. 1.).
			</description>
		</attribute>
		<attribute name='trisetborder' get='1' set='1' type='rgba' size='1'>
			<digest>
				Triset border color
			</digest>
			<description>
				Triset border color (default 0.1961 0.1961 1. 1.).
			</description>
		</attribute>
		<attribute name='triseteditborder' get='1' set='1' type='rgba' size='1'>
			<digest>
				Triset edit border color
			</digest>
			<description>
				Triset edit border color (default 1. 0. 0. 1.).
			</description>
		</attribute>
		<attribute name='triseteditfill' get='1' set='1' type='rgba' size='1'>
			<digest>
				Triset edit fill color
			</digest>
			<description>
				Triset edit fill color (default 1. 0. 0. 0.1).
			</description>
		</attribute>
		<attribute name='trisetfill' get='1' set='1' type='rgba' size='1'>
			<digest>
				Triset fill color
			</digest>
			<description>
				Triset fill color (default 0.8627 0.8627 1. 0.85).
			</description>
		</attribute>
		<attribute name='trisettextcolor' get='1' set='1' type='rgba' size='1'>
			<digest>
				Triset text color
			</digest>
			<description>
				Triset text color (default 0.1961 0.1961 1. 1.).
			</description>
		</attribute>
		<attribute name='vlinkcolor' get='1' set='1' type='rgba' size='1'>
			<digest>
				Virtual link color
			</digest>
			<description>
				Virtual link color (default 1. 0. 0. 0.5).
			</description>
		</attribute>
		<attribute name='vlinktextcolor' get='1' set='1' type='rgba' size='1'>
			<digest>
				Virtual link text color
			</digest>
			<description>
				Virtual link text color (default 1. 0. 0. 1.).
			</description>
		</attribute>
		<attribute name='vnodefill' get='1' set='1' type='rgba' size='1'>
			<digest>
				Virtual node fill color
			</digest>
			<description>
				Virtual node fill color (default 0.7 0. 0. 1.).
			</description>
		</attribute>
	</attributelist>


	<misc name="Input">
		<entry name="message">
			<description>
				Messages to <o>MIAP.map</o>.
			</description>
		</entry>
	</misc>


	<misc name="Output">
		<entry name="message">
			<description>
				Info outlet.
			</description>
		</entry>
	</misc>


	<!--RELATED-->
	<seealsolist>
		<seealso name="miap_overview" module="topics" type="vignette"/>
		<seealso name="miap_map_elements" module="topics" type="vignette"/>
		<seealso name="miap_tutorials" module="miap-tut" type="tutorial"/>
		<seealso name="MIAP"/>
		<seealso name="MIAP~"/>
		<!-- <seealso name="MIAP.map"/> -->
		<seealso name="MIAP.meyer"/>
	</seealsolist>

</c74object>
