<?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="jit.release~" module="jit" category="Jitter Audio">
	<digest>
		Transforms matrix data into signals
	</digest>
	<description>
		<o>jit.release~</o> takes floating-point jitter matrices as input and transforms the stream of jitter matrices into MSP signals.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			Jitter
		</metadata>
		<metadata name="tag">
			Jitter Audio
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="matrix">
			<digest>
				incoming matrices
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="matrix">
			<digest>
				incoming matrices
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="signal">
			<digest>
				channel 1
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="1" type="signal">
			<digest>
				dumpout
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
	</outletlist>
	<!--ARGUMENTS-->
	<objarglist>
		<objarg name="channels">
			<digest>
				Number of channels
			</digest>
			<description>
				The number of output signals. An outlet will be created for each channel and the input matrices should be composed of a separate plane for each channel.
			</description>
		</objarg>
	</objarglist>
	<!--MESSAGES-->
	<jittermethodlist>
		<jittermethod name="exportattrs" />
		<jittermethod name="exportsummary" />
		<jittermethod name="getattributes" />
		<jittermethod name="getstate" />
		<jittermethod name="importattrs" />
		<jittermethod name="jit_matrix" />
		<jittermethod name="summary" />
	</jittermethodlist>
	<!--ATTRIBUTES-->
	<attributelist>
		<attribute name="mode" get="1" set="1" type="int" size="1">
			<digest>
				Interpolation mode
			</digest>
			<description>
				Two different modes are possible: in mode 0, jit.release~ does no intepolation and expects to receive one sample of input for every sample it needs to output. In mode 1 the playback position within the internal buffer is smoothly adjusted based on how much data has been made available to the object.
			</description>
		</attribute>
		<attribute name="latency" get="1" set="1" type="float" size="1">
			<digest>
				Playback latency
			</digest>
			<description>
				The amount of signal data, in milliseconds, that the object should internally buffer before starting playback. Low latency values will be more susceptible to clicking due to temporal perturbations in the event-based jitter network.
			</description>
		</attribute>
	</attributelist>
	<jitterattributelist />
	<!--EXAMPLE-->
	<examplelist>
		<example img="jit.release~.png" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="jit.buffer~" />
		<seealso name="jit.peek~" />
		<seealso name="jit.poke~" />
		<seealso name="jit.catch~" />
		<seealso name="peek~" />
		<seealso name="poke~" />
		<seealso name="jitterchapter48" module="jit" type="tutorial" />
	</seealsolist>
	<discussion>
		The object can either be set to require a matrix element of floating point data for every signal sample that it will need to put out (locked mode), or it will smoothly adjust the playback position within the internal buffer to interpolate the data based on how much data has been made available to the object (varispeed mode).
	</discussion>
</c74object>
