<?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="polybuffer~" module="msp" category="MSP Sampling">
	<digest>
		Manage multiple <o>buffer~</o> objects
	</digest>
	<description>
		<o>polybuffer~</o> lets you operate with a group of <o>buffer~</o> objects. Each <o>buffer~</o> will be named after <o>polybuffer~</o> first argument and an index (aka for a <m>polybuffer~ toto</m> object, each <o>buffer~</o> will be named toto.N where N is the index).
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			TEXT_HERE
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="INLET_TYPE">
			<digest>
				Message in
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="INLET_TYPE">
			<digest>
				Message in
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="OUTLET_TYPE">
			<digest>
				dumpout
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="1" type="OUTLET_TYPE">
			<digest>
				bang When File/Folder Read Operation Completed
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
	</outletlist>
	<!--ARGUMENTS-->
	<objarglist>
		<objarg name="name" optional="0" id="0" type="symbol">
			<digest>
				<o>polybuffer~</o> name
			</digest>
			<description>
				Sets the name of the <o>polybuffer~</o> and defines the names of the <o>buffer~</o>. For instance, if the <o>polybuffer~</o> object's name is <i>toto</i>, the <o>buffer~</o> will be named <i>toto.1</i>, <i>toto.2</i>, <i>toto.3</i>.... <o>polybuffer~</o> objects with the same name share the same <o>buffer~</o>.
			</description>
		</objarg>
	</objarglist>
	<!--MESSAGES-->
	<methodlist>
		<method name="(drag)">
			<digest>
				Load a <o>buffer~</o>.
			</digest>
			<description>
				Drag a sound file and a buffer~ will be added to the list. Drag a folder and the sound files contained in the folder will be loaded in <o>buffer~</o> objects.
			</description>
		</method>
		<method name="append">
			<arglist>
				<arg name="filename" optional="0" type="list" />
			</arglist>
			<digest>
				Add a sound file to <o>polybuffer~</o> 
			</digest>
			<description>
				Display a dialog box to choose a sound file to add to <o>polybuffer~</o> or load the sound file specified in argument.
			</description>
		</method>
		<method name="appendempty">
			<arglist>
				<arg name="length" optional="0" type="float" unit="ms" />
				<arg name="channels" optional="0" type="int" />
			</arglist>
			<digest>
				Add an empty <o>buffer~</o> 
			</digest>
			<description>
				Adds an empty <o>buffer~</o> of the specified lenght and channels.
			</description>
		</method>
		<method name="(mouse)">
			<digest>
				Open the <o>polybuffer~</o> object's window
			</digest>
			<description>
				Double-click on the <o>polybuffer~</o> object in a locked patcher to open a window where you can see information about the buffers.
			</description>
		</method>
		<method name="clear">
			<arglist />
			<digest>
				Delete all <o>buffer~</o> 
			</digest>
			<description>
				Delete every <o>buffer~</o>.
			</description>
		</method>
		<method name="dump">
			<arglist />
			<digest>
				Report information on <o>buffer~</o> objects
			</digest>
			<description>
				Outputs list with the following information: index, buffer name, path of the sound file, length, channel and sampling rate.
			</description>
		</method>
		<method name="getcount">
			<arglist />
			<digest>
				Report the number of <o>buffer~</o> objects
			</digest>
			<description>
				Outputs the message <m>count</m>, followed by the number of <o>buffer~</o> objects contained in the <o>polybuffer~</o> object.
			</description>
		</method>
		<method name="getbufferlist">
			<arglist />
			<digest>
				Get a list of the <o>buffer~</o> objects
			</digest>
			<description>
				Outputs the message <m>bufferlist</m> followed by the name of the <o>buffer~</o>. When every <o>buffer~</o> name has been sent out the outlet, the <m>done</m> message is sent.
			</description>
		</method>
		<method name="getsize">
			<arglist />
			<digest>
				Output the memory size
			</digest>
			<description>
				Outputs the memory size used by <o>polybuffer~</o> in Bytes.
			</description>
		</method>
		<method name="getshortname">
			<arglist />
			<digest>
				Output the <o>buffer~</o> name sound file names without filename extensions
			</digest>
			<description>
				Outputs the <o>buffer~</o> name followed by the sound files name without the extension. Outputs <m>done</m> when the iteration is finished.
			</description>
		</method>
		<method name="open">
			<arglist />
			<digest>
				Open the <o>polybuffer~</o> object's window
			</digest>
			<description>
				Open <o>polybuffer~</o> object's window see information about the buffers.
			</description>
		</method>
		<method name="readfolder">
			<arglist>
				<arg name="name" optional="1" type="list" />
			</arglist>
			<digest>
				Load multiple sound files
			</digest>
			<description>
				Loads multple sound files from the specified folder. If no argument is provided a dialog box will show up.
			</description>
		</method>
		<method name="send">
			<arglist>
				<arg name="index" optional="0" type="int" />
				<arg name="anything" optional="0" type="list" />
			</arglist>
			<digest>
				Send messages to buffers
			</digest>
			<description>
				Sends messages to the <o>buffer~</o> objects. The index corresponds to the <o>buffer~</o> index, and an index of 0 send the message to every <o>buffer~</o>. For instance, <m>send 0 clear</m> sends the message clear to every <o>buffer~</o> contained in this <o>polybuffer~</o>.
			</description>
		</method>
		<method name="wclose">
			<arglist />
			<digest>
				Close the editor
			</digest>
			<description>
				Close the window editor
			</description>
		</method>
		<method name="writetofolder">
			<arglist>
				<arg name="name" optional="1" type="list" />
			</arglist>
			<digest>
				Write every <o>buffer~</o> in a folder
			</digest>
			<description>
				Writes every <o>buffer~</o> in a folder. If no argument is provided a dialog box will show up.
			</description>
		</method>
	</methodlist>
	<!--ATTRIBUTES-->
	<attributelist>
		<attribute name="embed" get="1" set="1" type="int" size="1">
			<digest>
				Save buffer references with the patcher
			</digest>
			<description>
				Save the buffer references in the patcher, on save. Note: empty buffers will be stored as empty buffer: their size and number of channels will be saved, but not the contents.
			</description>
			<attributelist>
				<attribute name="basic" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Save Buffer~ References" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="quiet" get="1" set="1" type="int" size="1">
			<digest>
				Error message supression toggle
			</digest>
			<description>
				Suppress the warning when loading multiple patches with <o>polybuffer~</o> with the same name.
			</description>
			<attributelist>
				<attribute name="basic" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Quiet" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
	</attributelist>
	<!--EXAMPLE-->
	<examplelist>
		<example />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="buffer~" />
	</seealsolist>
</c74object>
