<?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.stream" module="max" category="Array">
	<digest>
		Make an array of a certain size
	</digest>
	<description>
		array.stream accepts a number in the right inlet which specifies the length of the output array. Following the receipt of this number, the object will collect this number of elements input through the left inlet. After the array-length is complete, and with each subsequent input, the array will be output from the left outlet. A <m>1</m> or a <m>0</m> will be output from the right outlet depending on whether the array-length has been reached or not. A <m>1</m> signifies that the array-length has been reached and that the object is now collecting the stream. Use the <m>clear</m> message to reset the array.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			TEXT_HERE
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="INLET_TYPE">
			<digest>
				array in
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="INLET_TYPE">
			<digest>
				length in
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="OUTLET_TYPE">
			<digest>
				streamed array out
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="1" type="OUTLET_TYPE">
			<digest>
				1 if 0 elements are defined
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
	</outletlist>
	<!--ARGUMENTS-->
	<objarglist>
		<objarg id="0" name="array-length" type="int" optional="1">
			<digest>
				Desired array length
			</digest>
			<description>
				TEXT_HERE
			</description>
		</objarg>
	</objarglist>
	<!--MESSAGES-->
	<methodlist>
		<method name="bang">
			<arglist />
			<digest>
				Trigger output
			</digest>
			<description>
				Reprocess previously received array and trigger output.
			</description>
		</method>
		<method name="int">
			<arglist>
				<arg name="array-length" type="int" optional="0" />
			</arglist>
			<digest>
				In the right inlet, set the desired output array length. In the left inlet, add an <m>int</m> element to the current output array.
			</digest>
			<description>
				If the output array length is negative, elements are added to the front of the output array, otherwise they are added to the end.
			</description>
		</method>
		<method name="float">
			<arglist>
				<arg name="array-length" type="int/float" optional="0" />
			</arglist>
			<digest>
				In the right inlet, set the desired output array length. In the left inlet, add a <m>float</m> element to the current output array.
			</digest>
			<description>
				If the output array length is negative, elements are added to the front of the output array, otherwise they are added to the end.
			</description>
		</method>
		<method name="list">
			<arglist>
				<arg name="ARG_NAME_0" type="list" optional="0" />
			</arglist>
			<digest>
				Convert a list to an array.
			</digest>
			<description>
				Convert an incoming list to an array, then process as described for the <m>array</m> message.
			</description>
		</method>
		<method name="anything">
			<arglist>
				<arg name="ARG_NAME_0" type="list" optional="0" />
			</arglist>
			<digest>
				Convert a list to an array.
			</digest>
			<description>
				Convert an incoming list to an array, then process as described for the <m>array</m> message.
			</description>
		</method>
		<method name="array">
			<arglist>
				<arg name="ARG_NAME_0" type="list" optional="0" />
			</arglist>
			<digest>
				Stream the contents of an array
			</digest>
			<description>
				Add a list of elements sequentially (one element at a time) to the output array.
			</description>
		</method>
		<method name="clear">
			<arglist />
			<digest>
				Clear the output array.
			</digest>
			<description>
				Resets the streaming process.
			</description>
		</method>
		<method name="dictionary">
			<arglist>
				<arg name="ARG_NAME_0" type="list" optional="0" />
			</arglist>
			<digest>
				Wrap a dictionary object in an array.
			</digest>
			<description>
				Wrap an incoming dictionary object in an array, then process as described for the <m>array</m> message.
			</description>
		</method>
		<method name="string">
			<arglist>
				<arg name="ARG_NAME_0" type="list" optional="0" />
			</arglist>
			<digest>
				Wrap a string object in an array.
			</digest>
			<description>
				Wrap a string object in an array, then process as described for the <m>array</m> message.
			</description>
		</method>
	</methodlist>
	<!--ATTRIBUTES-->
	<!--EXAMPLE-->
	<examplelist>
		<example caption="" img="" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="array" />
		<seealso name="array.group" />
		<seealso name="array.tuplewise" />
		<seealso name="zl.iter" />
		<seealso name="zl.queue" />
	</seealsolist>
</c74object>
