<?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="mc.average~" module="msp" category="MSP Operators, MSP Analysis, Multichannel">
	<digest>
		Multi-mode signal average  (multichannel)
	</digest>
	<description>
		Use the <o>average~</o> to perform <m>bipolar</m>, <m>absolute</m>, or <m>rms</m> averaging on any input signal.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			MSP
		</metadata>
		<metadata name="tag">
			MSP Analysis
		</metadata>
		<metadata name="tag">
			MSP Operators
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="signal">
			<digest>
				(signal) Input and Messages
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="signal">
			<digest>
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="signal">
			<digest>
				(signal) Running Mean Average Out
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
	</outletlist>
	<!--ARGUMENTS-->
	<objarglist>
		<objarg name="max-averaging-interval" optional="1" units="samples" type="int">
			<digest>
				Maximum averaging interval
			</digest>
			<description>
				Sets the maximum averaging interval in samples. The default value is 100.
			</description>
		</objarg>
		<objarg name="averaging-mode" optional="1" type="symbol">
			<digest>
				Averaging mode
			</digest>
			<description>
				Sets the averaging mode, as defined in the &quot;Messages&quot; section. The default is <m>bipolar</m>.
			</description>
		</objarg>
	</objarglist>
	<!--MESSAGES-->
	<methodlist>
		<method name="int">
			<arglist>
				<arg name="averaging-sample-interval" optional="0" units="samples" type="int" />
			</arglist>
			<digest>
				Set the averaging sample interval
			</digest>
			<description>
				Sets the interval in samples used for each of the three modes of signal averaging. The default value is <m>100</m>.
			</description>
		</method>
		<method name="absolute">
			<arglist />
			<digest>
				Set absolute averaging mode
			</digest>
			<description>
				Sets absolute averaging mode. This mode averages the absolute value of the incoming samples.
			</description>
		</method>
		<method name="bipolar">
			<arglist />
			<digest>
				Set bipolar averaging mode (default)
			</digest>
			<description>
				Sets bipolar averaging mode (default). In bipolar mode, the sample values are averaged.
			</description>
		</method>
		<method name="rms">
			<arglist />
			<digest>
				Set root mean square (RMS) averaging mode
			</digest>
			<description>
				Sets root mean square (RMS) averaging mode. This mode computes the square root of the average of the sample values squared.
				<br />
				<br />
				The RMS mode of the <o>average~</o> object is more CPU-intensive than the bipolar and absolute modes.While RMS values are often used to measure signal levels, the absolute mode often works as well as the RMS mode in many level-detection tasks.
			</description>
		</method>
		<method name="signal">
			<arglist />
			<digest>
				The signal to be averaged
			</digest>
			<description>
				The signal to be averaged.
			</description>
		</method>
	</methodlist>
	<!--ATTRIBUTES-->
	<attributelist>
		<attribute name="mode" get="1" set="1" type="symbol" size="1">
			<digest>
				Set averaging mode
			</digest>
			<description>
				Sets the averaging mode for the input signal.
			</description>
			<attributelist>
				<attribute name="enumvals" get="1" set="1" type="atom" size="3">
					<enumlist>
						<enum name="bipolar">
							<digest>
								Average input
							</digest>
							<description>
								Sets bipolar averaging mode (default). In bipolar mode, the sample values are averaged.
							</description>
						</enum>
						<enum name="absolute">
							<digest>
								Average the absolute value of input
							</digest>
							<description>
								Sets absolute averaging mode. This mode averages the absolute value of the incoming samples.
							</description>
						</enum>
						<enum name="rms">
							<digest>
								Root mean square input
							</digest>
							<description>
								Sets root mean square (RMS) averaging mode. This mode computes the square root of the average of the sample values squared.
								<br />
								<br />
								The RMS mode of the <o>average~</o> object is more CPU-intensive than the bipolar and absolute modes. While RMS values are often used to measure signal levels, the absolute mode often works as well as the RMS mode in many level-detection tasks.
							</description>
						</enum>
					</enumlist>
				</attribute>
				<attribute name="introduced" get="1" set="1" type="symbol" size="1" value="8.0.0" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="enum" />
			</attributelist>
		</attribute>
	</attributelist>
	<!--EXAMPLE-->
	<examplelist>
		<example img="average~.png" caption="Running average of a signal across n samples" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="avg~" />
		<seealso name="meter~" />
		<seealso name="17_msp_compress_00" module="msp" type="tutorial" />
	</seealsolist>
	<misc name="Output">
		<entry name="signal">
			<description>
				The running average value of the input signal averaged over the specified number of samples.
			</description>
		</entry>
	</misc>
	<mcwrapper>
		<mcwrappermethod name="applymessages" />
		<mcwrappermethod name="applynvalues" />
		<mcwrappermethod name="applyvalues" />
		<mcwrappermethod name="decide" />
		<mcwrappermethod name="deviate" />
		<mcwrappermethod name="ease.in_back" />
		<mcwrappermethod name="ease.in_bounce" />
		<mcwrappermethod name="ease.in_circular" />
		<mcwrappermethod name="ease.in_cubic" />
		<mcwrappermethod name="ease.in_elastic" />
		<mcwrappermethod name="ease.in_exponential" />
		<mcwrappermethod name="ease.in_out_back" />
		<mcwrappermethod name="ease.in_out_bounce" />
		<mcwrappermethod name="ease.in_out_circular" />
		<mcwrappermethod name="ease.in_out_cubic" />
		<mcwrappermethod name="ease.in_out_elastic" />
		<mcwrappermethod name="ease.in_out_exponential" />
		<mcwrappermethod name="ease.in_out_quadratic" />
		<mcwrappermethod name="ease.in_out_quartic" />
		<mcwrappermethod name="ease.in_out_quintic" />
		<mcwrappermethod name="ease.in_out_sine" />
		<mcwrappermethod name="ease.in_quadratic" />
		<mcwrappermethod name="ease.in_quartic" />
		<mcwrappermethod name="ease.in_quintic" />
		<mcwrappermethod name="ease.in_sine" />
		<mcwrappermethod name="ease.linear" />
		<mcwrappermethod name="ease.out_back" />
		<mcwrappermethod name="ease.out_bounce" />
		<mcwrappermethod name="ease.out_circular" />
		<mcwrappermethod name="ease.out_cubic" />
		<mcwrappermethod name="ease.out_elastic" />
		<mcwrappermethod name="ease.out_quadratic" />
		<mcwrappermethod name="ease.out_quartic" />
		<mcwrappermethod name="ease.out_quintic" />
		<mcwrappermethod name="ease.out_sine" />
		<mcwrappermethod name="exponential" />
		<mcwrappermethod name="generate" />
		<mcwrappermethod name="harmonic" />
		<mcwrappermethod name="increment" />
		<mcwrappermethod name="randomrange" />
		<mcwrappermethod name="replicatenvalues" />
		<mcwrappermethod name="replicatevalues" />
		<mcwrappermethod name="scaledexponential" />
		<mcwrappermethod name="setvalue" />
		<mcwrappermethod name="setvaluerange" />
		<mcwrappermethod name="smoothstep" />
		<mcwrappermethod name="spread" />
		<mcwrappermethod name="spreadexclusive" />
		<mcwrappermethod name="spreadincludefirst" />
		<mcwrappermethod name="spreadincludesecond" />
		<mcwrappermethod name="spreadinclusive" />
		<mcwrappermethod name="subharmonic" />
		<mcwrapperattr name="busymapname" />
		<mcwrapperattr name="bz" />
		<mcwrapperattr name="bzname" />
		<mcwrapperattr name="chans" />
		<mcwrapperattr name="fun" />
		<mcwrapperattr name="initialvalues" />
		<mcwrapperattr name="op" />
		<mcwrapperattr name="target" />
		<mcwrapperattr name="usebusymap" />
		<mcwrapperattr name="values" />
		<mcwrapperattr name="voiceprob" />
		<mcwrapperattr name="zero" />
	</mcwrapper>
</c74object>
