<?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.tapin~" module="msp" category="MC, MSP, MSP System">
	<digest>
		Input to a delay line
	</digest>
	<description>
		<o>mc.tapin~</o> receives a multichannel in and copies into a delay line. Using <o>mc.tapout~</o>, you can read from the delay line at various delay times. You must connect the outlet of an <o>mc.tapin~</o> object to the <o>mc.tapout~</o> object you want to use with the delay line. Note that this is not a signal connection, since no signal travels between the objects. It is merely a way to indicate that the objects share the same delay memory.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			MSP
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="multi-channel signal">
			<digest>
				Input Written To Delay Line
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="multi-channel signal">
			<digest>
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="OUTLET_TYPE">
			<digest>
				Connect To One Or More mc.tapout~ Objects
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
	</outletlist>
	<!--ARGUMENTS-->
	<objarglist>
		<objarg id="0" name="maximum-delay" optional="1" units="ms" type="number">
			<digest>
				Maximum delay time
			</digest>
			<description>
				The maximum delay time in milliseconds. This determines the size of the delay line memory. If the sampling rate is increased after the object has been created, <o>mc.tapin~</o> will attempt to resize the delay line. If no argument is present, the default maximum delay time is 100 milliseconds.
			</description>
		</objarg>
	</objarglist>
	<!--MESSAGES-->
	<methodlist>
		<method name="int">
			<arglist>
				<arg name="memory-size" optional="0" units="ms" type="int" />
			</arglist>
			<digest>
				Resize and clear the delay line memory
			</digest>
			<description>
				In left inlet: An <m>int</m> resizes the delay line memory with the new maximum delay time specified in milliseconds (this clears the memory of the delay line, which may produce a click in the output).
			</description>
		</method>
		<method name="float">
			<arglist>
				<arg name="memory-size" optional="0" units="ms" type="float" />
			</arglist>
			<digest>
				Resize and clear the delay line memory
			</digest>
			<description>
				In left inlet: A <m>float</m> resizes the delay line memory with the new maximum delay time specified in milliseconds (this clears the memory of the delay line, which may produce a click in the output).
			</description>
		</method>
		<method name="clear">
			<arglist />
			<digest>
				Clear the delay line
			</digest>
			<description>
				Clears the memory of the delay line (which may produce a click in the output).
			</description>
		</method>
		<method name="freeze">
			<arglist>
				<arg name="behavioral-flag (0 or nonzero)" optional="0" type="int" />
			</arglist>
			<digest>
				Freeze the buffer memory
			</digest>
			<description>
				The word <m>freeze</m> followed by a non-zero number will cause <o>mc.tapin~</o> to freeze its buffer memory. This means the object will keep echoing out of its output what has already been recorded into its memory at the point of freezing and no further input will be recorded. The word <m>freeze</m> followed by a 0 will reset the object to its default state of constantly recording and rerecording any given input into its memory buffer and outputting it after the specified delay time.
			</description>
		</method>
		<method name="signal">
			<arglist />
			<digest>
				Write signal into a delay line
			</digest>
			<description>
				The signal is written into a delay line that can be read by the <o>mc.tapout~</o> object.
			</description>
		</method>
	</methodlist>
	<!--ATTRIBUTES-->
	<!--EXAMPLE-->
	<examplelist>
		<example caption="" img="" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="delay~" />
		<seealso name="mc.tapout~" />
		<seealso name="tapin~" />
		<seealso name="tapout~" />
		<seealso name="15_delaychapter01" module="msp" type="tutorial" />
		<seealso name="15_delaychapter02" module="msp" type="tutorial" />
		<seealso name="15_delaychapter04" module="msp" type="tutorial" />
	</seealsolist>
	<misc name="Output">
		<entry name="tap">
			<description>
				In order for the delay line to function, the outlet of <o>mc.tapin~</o> must be connected to the left inlet of <o>mc.tapout~</o>. It cannot be connected to any other object.
			</description>
		</entry>
	</misc>
</c74object>
