<?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="past" module="max" category="Control">
	<digest>
		Notify when a threshold is passed
	</digest>
	<description>
		Sends a bang when a number rises above a certain specified value.
	</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>
				Input to be Synchronized
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="INLET_TYPE">
			<digest>
				Input to be Synchronized
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="OUTLET_TYPE">
			<digest>
				bang When Numbers Rise Above Specified Value
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
	</outletlist>
	<!--ARGUMENTS-->
	<objarglist>
		<objarg name="list" optional="0" type="list">
			<digest>
				Threshold list
			</digest>
			<description>
				Sets the numbers which must be exceeded by the numbers received in the inlet. Output will be triggered when any of the threshold values are met or exceeded.
			</description>
		</objarg>
		<objarg name="number" optional="0" type="int">
			<digest>
				Threshold number
			</digest>
			<description>
				Triggers output when the number is met or exceeded.
			</description>
		</objarg>
	</objarglist>
	<!--MESSAGES-->
	<methodlist>
		<method name="int">
			<arglist>
				<arg name="input" optional="0" type="int" />
			</arglist>
			<digest>
				Test for threshold
			</digest>
			<description>
				If there is only one argument, and the input is greater than the argument, and the previous input was not greater than or equal to it, <o>past</o> sends a <m>bang</m> out the outlet.
			</description>
		</method>
		<method name="float">
			<arglist>
				<arg name="input" optional="0" type="float" />
			</arglist>
			<digest>
				Test for threshold
			</digest>
			<description>
				If there is only one argument, and the input is greater than the argument, and the previous input was not greater than or equal to it, <o>past</o> sends a <m>bang</m> out the outlet.
			</description>
		</method>
		<method name="list">
			<arglist>
				<arg name="input" optional="0" type="list" />
			</arglist>
			<digest>
				Test values for threshold
			</digest>
			<description>
				The numbers in the list are compared to the arguments. If all of the numbers in the list are greater than or equal to the corresponding arguments, a <m>bang</m> is sent out the outlet. Before a <m>bang</m> is sent again, however, <o>past</o> must receive a <m>clear</m> message, or must receive another list in which the number that equaled or exceeded its argument goes back below (is less than) its argument.
			</description>
		</method>
		<method name="clear">
			<arglist />
			<digest>
				Reset threshold status
			</digest>
			<description>
				Causes <o>past</o> to forget previously received input, readying it to send a <m>bang</m> message again.
			</description>
		</method>
		<method name="set">
			<arglist>
				<arg name="watch-list" optional="0" type="list" />
			</arglist>
			<digest>
				Set the threshold value(s)
			</digest>
			<description>
				The word <m>set</m>, followed by one or more numbers, sets the numbers which must be equaled or exceeded by the numbers received in the <o>past</o> object's inlet.
			</description>
		</method>
	</methodlist>
	<!--ATTRIBUTES-->
	<!--EXAMPLE-->
	<examplelist>
		<example img="past.png" caption="Send out bang only when the input goes past the threshold in an upward direction" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="maximum" />
		<seealso name="peak" />
		<seealso name="&gt;" />
	</seealsolist>
	<misc name="Output">
		<entry name="bang">
			<description>
				If all of the arguments are equaled or exceeded by the numbers received in the inlet, <o>past</o> sends out a <m>bang</m>. Otherwise, <o>past</o> does nothing. If there is a single argument, a <m>bang</m> is sent only as a number increases past its threshold. Once the threshold has been passed, the number must go below the threshold again, then increase past it, before another <m>bang</m> will be sent.
			</description>
		</entry>
	</misc>
</c74object>
