<?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.buffer~" module="jit" category="Jitter Audio">
	<digest>
		Access an MSP buffer~ in matrix form
	</digest>
	<description>
		Represents audio in a <m>float32</m> matrix with time across dim[0]. Multi-channel audio uses a separate plane for each channel. The object arguments are the same as those for the <o>buffer~</o> object. <o>jit.buffer~</o> responds to all the same messages as <o>buffer~</o>.
	</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="signal">
			<digest>
				dim[0]
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="signal">
			<digest>
				dim[1]
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="signal">
			<digest>
				value
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="1" type="signal">
			<digest>
				dumpout
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="2" type="signal">
			<digest>
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
	</outletlist>
	<!--ARGUMENTS-->
	<objarglist>
		<objarg name="buffer_name">
			<description>
				The name of the buffer~ to access
			</description>
		</objarg>
		<objarg name="filename">
			<description>
				Optional filename to read
			</description>
		</objarg>
		<objarg name="length">
			<description>
				Optional length in milliseconds
			</description>
		</objarg>
		<objarg name="channels">
			<description>
				Optional number of channels (default=1)
			</description>
		</objarg>
	</objarglist>
	<!--MESSAGES-->
	<methodlist>
		<method name="anything">
			<arglist />
			<digest>
				Message pass-through
			</digest>
			<description>
				Any message not specifically handled by the <o>jit.buffer~</o> object will be passed along to its child <o>buffer~</o> object.
			</description>
		</method>
		<method name="(mouse)">
			<digest>
				View the buffer contents
			</digest>
			<description>
				Double-clicking on a <o>jit.buffer~</o> object opens a display window where you can view its contents.
			</description>
		</method>
		<method name="getframes">
			<arglist />
			<digest>
				Output the number of frames
			</digest>
			<description>
				Outputs the number of frames.
			</description>
		</method>
		<method name="getlength">
			<arglist />
			<digest>
				Output the length of the buffer~
			</digest>
			<description>
				Outputs the length of the buffer~ in milliseconds.
			</description>
		</method>
		<method name="output">
			<arglist />
			<digest>
				Output buffer~ ranges
			</digest>
			<description>
				<m>float32</m> matrix containing the range of the buffer~ specified by the <at>outputstart</at>, <at>outputlength</at>, <at>outputfirst</at> and <at>outputlast</at> attributes will be output out the left outlet.
			</description>
		</method>
		<method name="viz">
			<arglist />
			<digest>
				Output a visualization matrix
			</digest>
			<description>
				Outputs a visualization matrix from the second outlet. In opaque mode the matrix will be of type <m>char</m> and in statistical mode the matrix will be of type <m>float32</m>. In both modes each channel of audio results is mapped to a separate plane of the matrix.
			</description>
		</method>
	</methodlist>
	<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="inputfirst" get="1" set="1" type="int" size="1">
			<digest>
				Frame starting point for matrix writes
			</digest>
			<description>
				An input matrix will be written to the buffer~ starting at this frame
			</description>
		</attribute>
		<attribute name="inputstart" get="1" set="1" type="float" size="1">
			<digest>
				Time starting point for matrix writes
			</digest>
			<description>
				An input matrix will be written to the buffer~ starting at this position in milliseconds
			</description>
		</attribute>
		<attribute name="outputfirst" get="1" set="1" type="int" size="1">
			<digest>
				Frame for collection start
			</digest>
			<description>
				Frame at which to start collecting data from the buffer~ for an output matrix
			</description>
		</attribute>
		<attribute name="outputlast" get="1" set="1" type="int" size="1">
			<digest>
				Frame for collection end
			</digest>
			<description>
				Frame at which to finish collecting data from the buffer~ for an output matrix
			</description>
		</attribute>
		<attribute name="outputlength" get="1" set="1" type="float" size="1">
			<digest>
				Time for collection length
			</digest>
			<description>
				The length in milliseconds of the output matrix collected from the buffer~
			</description>
		</attribute>
		<attribute name="outputstart" get="1" set="1" type="float" size="1">
			<digest>
				Time for collection start
			</digest>
			<description>
				The position in milliseconds to start collecting data from the buffer~ for an output matrix
			</description>
		</attribute>
		<attribute name="vizchecktime" get="1" set="1" type="int" size="1">
			<digest>
				Visualization check time
			</digest>
			<description>
				How often in milliseconds the visualization engine should check the status of the buffer~ and re-render the cache if necessary (default=250)
			</description>
		</attribute>
		<attribute name="vizfirst" get="1" set="1" type="int" size="1">
			<digest>
				Visualization start point (frame)
			</digest>
			<description>
				Frame at which to start render of the visualization output matrix
			</description>
		</attribute>
		<attribute name="vizheight" get="1" set="1" type="int" size="1">
			<digest>
				Visualization output height
			</digest>
			<description>
				The height of the visualization output matrix (default=160)
			</description>
		</attribute>
		<attribute name="vizmode" get="1" set="1" type="int" size="1">
			<digest>
				Opaque rendering mode
			</digest>
			<description>
				A value of 1 turns on opaque rendering mode. A value of 2 turns on statistical rendering mode, which has greater detail but is more expensive to render. A value of 0 turns off visualization and all background processing of cached speedup data. (default=0)
			</description>
		</attribute>
		<attribute name="vizlast" get="1" set="1" type="int" size="1">
			<digest>
				Visualization end point (frame)
			</digest>
			<description>
				Frame at which to end render of the visualization output matrix
			</description>
		</attribute>
		<attribute name="vizlength" get="1" set="1" type="float" size="1">
			<digest>
				Visualization length (ms)
			</digest>
			<description>
				The length in milliseconds to render for the visualization output matrix
			</description>
		</attribute>
		<attribute name="vizmemoryratio" get="1" set="1" type="float" size="1">
			<digest>
				Data cache size
			</digest>
			<description>
				Specifies the size of the data cache used to speed up rendering of the visualization matrix as a fraction of the data size of the buffer~ (default=0.5)
			</description>
		</attribute>
		<attribute name="vizstart" get="1" set="1" type="float" size="1">
			<digest>
				Visualization start point (ms)
			</digest>
			<description>
				The position in milliseconds to start the render of the visualization output matrix
			</description>
		</attribute>
		<attribute name="vizwidth" get="1" set="1" type="int" size="1">
			<digest>
				Visualization output width
			</digest>
			<description>
				The width of the visualization output matrix (default=320)
			</description>
		</attribute>
	</attributelist>
	<jitterattributelist />
	<!--EXAMPLE-->
	<examplelist>
		<example img="jit.buffer~.png" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="jit.catch~" />
		<seealso name="jit.graph" />
		<seealso name="jit.peek~" />
		<seealso name="jit.poke~" />
		<seealso name="jit.release~" />
		<seealso name="peek~" />
		<seealso name="poke~" />
		<seealso module="jit" name="jitterchapter48" type="tutorial" />
	</seealsolist>
</c74object>
