<?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="poke~" module="msp" category="MSP Sampling">
	<digest>
		Write sample values to a buffer by index
	</digest>
	<description>
		<o>poke~</o> allows you to write samples into a <o>buffer~</o> at sample locations specified by a signal.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			MSP
		</metadata>
		<metadata name="tag">
			MSP Sampling
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="signal/float">
			<digest>
				Sample Value to Write
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="signal/float">
			<digest>
				Sample Index
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="2" type="int">
			<digest>
				Channel
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<!--ARGUMENTS-->
	<objarglist>
		<objarg name="buffer-object-name" optional="0" type="symbol">
			<digest>
				TEXT_HERE
			</digest>
			<description>
				Obligatory. Names the <o>buffer~</o> where <o>poke~</o> will write its incoming samples.
			</description>
		</objarg>
		<objarg name="channel-number" optional="1" type="int">
			<digest>
				TEXT_HERE
			</digest>
			<description>
				Sets the channel number of a multichannel <o>buffer~</o> where the samples will be written. The default channel is 1.
			</description>
		</objarg>
	</objarglist>
	<!--MESSAGES-->
	<methodlist>
		<method name="int">
			<arglist>
				<arg name="value/sample-index" optional="0" type="int" />
			</arglist>
			<digest>
				In left inlet: Converted to float.
			</digest>
			<description>
				In left inlet: Converted to float.
				<br />
				<br />
				In middle inlet: Sets the sample index for writing subsequent sample values coming in the left inlet. If there is a signal connected to this inlet, a float is ignored.
			</description>
		</method>
		<method name="float">
			<arglist>
				<arg name="value/sample-index/channel-number" optional="0" type="float" />
			</arglist>
			<digest>
				Like the <o>peek~</o> object, <o>poke~</o> can write float values into a <o>buffer~</o>.
			</digest>
			<description>
				Like the <o>peek~</o> object, <o>poke~</o> can write float values into a <o>buffer~</o>. Note, however, that the left two inlets are reversed on the <o>poke~</o> object compared to the <o>peek~</o> object.
				<br />
				<br />
				In left inlet: Sets the value to be written into the <o>buffer~</o> at the specified sample index. If the sample index is not <m>-1</m>, the value is written.
				<br />
				<br />
				In middle inlet: Converted to <m>int</m>.				<br />
				<br />
				In right inlet: Converted to <m>int</m>.
			</description>
		</method>
		<method name="list">
			<arglist>
				<arg name="value, sample-index, and channel-number" optional="0" type="list" />
			</arglist>
			<digest>
				In left inlet: A list of two or more values will write the first value at the sample index specified by the second value.
			</digest>
			<description>
				In left inlet: A list of two or more values will write the first value at the sample index specified by the second value. If a third value is present, it specifies the audio channel within the <o>buffer~</o> for writing the sample value.
			</description>
		</method>
		<method name="(mouse)">
			<digest>
				Double-clicking on <o>poke~</o> opens an editing window where you can view the contents of its associated <o>buffer~</o> object.
			</digest>
			<description>
				Double-clicking on <o>poke~</o> opens an editing window where you can view the contents of its associated <o>buffer~</o> object.
			</description>
		</method>
		<method name="set">
			<arglist>
				<arg name="buffer-object-name" optional="0" type="symbol" />
			</arglist>
			<digest>
				The word <m>set</m>, followed by the name of a <o>buffer~</o>, changes the <o>buffer~</o> where <o>poke~</o> will write its incoming samples.
			</digest>
			<description>
				The word <m>set</m>, followed by the name of a <o>buffer~</o>, changes the <o>buffer~</o> where <o>poke~</o> will write its incoming samples.
			</description>
		</method>
		<method name="signal">
			<arglist />
			<digest>
				In left inlet: Signal values you want to write into a <o>buffer~</o>.
			</digest>
			<description>
				In left inlet: Signal values you want to write into a <o>buffer~</o>.				<br />
				<br />
				In middle inlet: The sample index where values from the signal in the left inlet will be written. If the signal coming into the middle inlet has a value of -1, no samples are written.
			</description>
		</method>
	</methodlist>
	<!--ATTRIBUTES-->
	<!--EXAMPLE-->
	<examplelist>
		<example img="poke~.png" caption="Write into a buffer~ using either signals or numbers" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="buffer~" />
		<seealso name="buffir~" />
		<seealso name="peek~" />
	</seealsolist>
</c74object>
