<?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="array" module="max" category="Array">
	<digest>
		Create or duplicate an array object.
	</digest>
	<description>
		Create or duplicate a named array object.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			array
		</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>
				set array value, messages in
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="OUTLET_TYPE">
			<digest>
				arrayobj out
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="1" type="OUTLET_TYPE">
			<digest>
				atoms out
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="2" type="OUTLET_TYPE">
			<digest>
				dumpout
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
	</outletlist>
	<!--ARGUMENTS-->
	<objarglist>
		<objarg id="0" name="value" type="atoms" optional="1">
			<digest>
				Array contents
			</digest>
			<description>
				The initial contents of the array can be supplied as a Max list.
			</description>
		</objarg>
	</objarglist>
	<!--parameter-->
	<parameter />
	<!--MESSAGES-->
	<methodlist>
		<method name="bang">
			<arglist />
			<digest>
				Trigger output
			</digest>
			<description>
				Output the current array.
			</description>
		</method>
		<method name="int">
			<arglist>
				<arg name="value" type="int" optional="0" />
			</arglist>
			<digest>
				Convert an integer to an array
			</digest>
			<description>
				Convert an integer to an array. The integer will be placed inside of an array, which will be sent to the outlet.
			</description>
		</method>
		<method name="float">
			<arglist>
				<arg name="value" type="float" optional="0" />
			</arglist>
			<digest>
				Convert a floating-point number to an array
			</digest>
			<description>
				Convert a floating-point number to an array. The floating-point number will be placed inside of an array, which will be sent to the outlet.
			</description>
		</method>
		<method name="list">
			<arglist>
				<arg name="list-value" type="list" optional="0" />
			</arglist>
			<digest>
				Convert a list to an array
			</digest>
			<description>
				Convert a list to an array. The contents of the list will be placed inside the array, which will be sent to the outlet.
			</description>
		</method>
		<method name="anything">
			<arglist>
				<arg name="list-value" type="list" optional="0" />
			</arglist>
			<digest>
				Convert a list to an array
			</digest>
			<description>
				Convert a list to an array. The contents of the list will be placed inside the array, which will be sent to the outlet.
			</description>
		</method>
		<method name="append">
			<arglist>
				<arg name="value" type="list" optional="0" />
			</arglist>
			<digest>
				Append a value to the end of the current array
			</digest>
			<description>
				Append a value to the end of the current array. The array will not be output in response to this message. Use <m>bang</m> to force output.
			</description>
		</method>
		<method name="array">
			<arglist>
				<arg name="ARG_NAME_0" type="list" optional="0" />
			</arglist>
			<digest>
				Make a copy of an array
			</digest>
			<description>
				Make a copy of an array. The incoming array will be cloned and passed to the outlet.
			</description>
		</method>
		<method name="atoms">
			<arglist />
			<digest>
				Output the current array as a list
			</digest>
			<description>
				Output the current array as a list out of the <m>array</m> objects middle outlet. The elements of the array will be output as a Max list.
			</description>
		</method>
		<method name="clear">
			<arglist />
			<digest>
				Clear the current array
			</digest>
			<description>
				Clear the current array. The (now empty) array will not be output in response to this message. Use <m>bang</m> to force output.
			</description>
		</method>
		<method name="delete">
			<arglist>
				<arg name="index" type="int" optional="0" />
			</arglist>
			<digest>
				Delete an entry in the array
			</digest>
			<description>
				Delete an entry in the array. The indexed element will be removed from the array (indices are 0-based). The array will not be output in response to this message. Use <m>bang</m> to force output.
			</description>
		</method>
		<method name="dictionary">
			<arglist>
				<arg name="dictionary-value" type="list" optional="0" />
			</arglist>
			<digest>
				Wrap a dictionary in an array
			</digest>
			<description>
				Wrap a dictionary in an array. The dictionary will be placed inside of an array, which will be sent to the outlet.
			</description>
		</method>
		<method name="get">
			<arglist>
				<arg name="index" type="int" optional="0" />
			</arglist>
			<digest>
				Get an array element
			</digest>
			<description>
				Get an array element. The element will be passed to the rightmost outlet in the form <m>get [index] [value]</m>.
			</description>
		</method>
		<method name="insert">
			<arglist>
				<arg name="index" type="int" optional="0" />
				<arg name="value" type="list" optional="0" />
			</arglist>
			<digest>
				Insert a value into the current array
			</digest>
			<description>
				Insert a value into the current array. A new array element will be created at the index provided, with the supplied value. Any existing array elements will be shifted to make room for the new element. The array will not be output in response to this message. Use <m>bang</m> to force output.
			</description>
		</method>
		<method name="prepend">
			<arglist>
				<arg name="value" type="list" optional="0" />
			</arglist>
			<digest>
				Place a new entry at the start of the current array
			</digest>
			<description>
				Place a new entry at the start of the current array. The array will not be output in response to this message. Use <m>bang</m> to force output.
			</description>
		</method>
		<method name="replace">
			<arglist>
				<arg name="index" type="int" optional="0" />
				<arg name="value" type="list" optional="0" />
			</arglist>
			<digest>
				Replace a value in the current array
			</digest>
			<description>
				Replace a value in the current array. A new array element will be created at the index provided, with the supplied value, replacing any element already stored in the array. The array will not be output in response to this message. Use <m>bang</m> to force output.
			</description>
		</method>
		<method name="reserve">
			<arglist>
				<arg name="number-of-entries" type="int" optional="0" />
			</arglist>
			<digest>
				Reserve memory for a provided number of entries (doesn't resize array)
			</digest>
			<description>
				Reserve memory for a provided number of entries (doesn't resize array). This is rarely needed, as the object manages its own memory and grows as necessary. If the desired array size is known, and re-allocation of the array needs to be avoided, this message can be used to ensure that the <o>array</o> object is pre-allocated to the desired size.
			</description>
		</method>
		<method name="shrink">
			<arglist />
			<digest>
				Reduce memory usage to the current array object length
			</digest>
			<description>
				Reduce memory usage to the current array object length. This is rarely needed. The <o>array</o> object does not automatically shrink if its contents are removed or cleared, this message can be used to ensure that the object doesn't use more resources than necessary.
			</description>
		</method>
		<method name="string">
			<arglist>
				<arg name="string-value" type="list" optional="0" />
			</arglist>
			<digest>
				Wrap a string in an array
			</digest>
			<description>
				Wrap a string in an array. The string will be placed inside of an array, which will be sent to the outlet.
			</description>
		</method>
	</methodlist>
	<!--ATTRIBUTES-->
	<attributelist>
		<attribute name="name" get="1" set="1" type="symbol" size="1">
			<digest>
				The name of the output array
			</digest>
			<description>
				Like dictionary and string objects, or like Jitter matrices, <o>array</o> objects can have names. These can be used to reference them from Javascript or from another <o>array</o> object.
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Array Name" />
			</attributelist>
		</attribute>
		<attribute name="parameter_enable" get="1" set="1" type="int" size="1">
			<digest>
				Parameter Mode Enable
			</digest>
			<description>
				TEXT_HERE
			</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="size" get="1" set="0" type="int" size="1">
			<digest>
				The size of the current array (read-only)
			</digest>
			<description>
				The size refers to the number of elements in the array.
			</description>
		</attribute>
	</attributelist>
	<!--EXAMPLE-->
	<examplelist>
		<example caption="" img="" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="dict" />
		<seealso name="string" />
		<seealso name="array.change" />
		<seealso name="array.compare" />
		<seealso name="array.concat" />
		<seealso name="array.every" />
		<seealso name="array.filter" />
		<seealso name="array.flatten" />
		<seealso name="array.foreach" />
		<seealso name="array.frombuffer" />
		<seealso name="array.group" />
		<seealso name="array.index" />
		<seealso name="array.indexmap" />
		<seealso name="array.indexof" />
		<seealso name="array.iter" />
		<seealso name="array.join" />
		<seealso name="array.length" />
		<seealso name="array.map" />
		<seealso name="array.pop" />
		<seealso name="array.push" />
		<seealso name="array.reduce" />
		<seealso name="array.remove" />
		<seealso name="array.reverse" />
		<seealso name="array.rotate" />
		<seealso name="array.routepass" />
		<seealso name="array.scramble" />
		<seealso name="array.sect" />
		<seealso name="array.shift" />
		<seealso name="array.slice" />
		<seealso name="array.some" />
		<seealso name="array.sort" />
		<seealso name="array.split" />
		<seealso name="array.stream" />
		<seealso name="array.subarray" />
		<seealso name="array.thin" />
		<seealso name="array.tobuffer" />
		<seealso name="array.tolist" />
		<seealso name="array.tostring" />
		<seealso name="array.tosymbol" />
		<seealso name="array.tuplewise" />
		<seealso name="array.union" />
		<seealso name="array.unique" />
		<seealso name="array.unshift" />
		<seealso name="array.wrap" />
	</seealsolist>
</c74object>
