<?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="thispoly~" module="msp" category="MSP Polyphony">
	<digest>
		Control <o>poly~</o> voice allocation and muting
	</digest>
	<description>
		Use the <o>thispoly~</o> object to control <o>poly~</o> voice allocation and muting. When placed inside a patcher loaded by the <o>poly~</o> object, it sends and receives messages from the <o>poly~</o> object that loads it.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			MSP
		</metadata>
		<metadata name="tag">
			MSP Polyphony
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="INLET_TYPE">
			<digest>
				bang Reports Index and Mute, int Sets Voice Busy
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="INLET_TYPE">
			<digest>
				bang Reports Index and Mute, int Sets Voice Busy
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="OUTLET_TYPE">
			<digest>
				Instance Index of Patcher
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="1" type="OUTLET_TYPE">
			<digest>
				Mute Flag (0/1) for Instance
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
	</outletlist>
	<!--ARGUMENTS-->
	<objarglist>
		<objarg id="0" name="OBJARG_NAME" type="OBJARG_TYPE" optional="0">
			<digest>
				TEXT_HERE
			</digest>
			<description>
				TEXT_HERE
			</description>
		</objarg>
	</objarglist>
	<!--MESSAGES-->
	<methodlist>
		<method name="bang">
			<arglist />
			<digest>
				Report the instance number of the patch
			</digest>
			<description>
				Reports the instance number of the patch. The first instance is reported as <m>1</m>.
			</description>
		</method>
		<method name="int">
			<arglist>
				<arg name="busy-state" optional="0" type="int" />
			</arglist>
			<digest>
				Enable the &quot;busy&quot; state for the patcher instance
			</digest>
			<description>
				Toggles the &quot;busy&quot; state for the patcher instance when the message <m>busy 1</m> is received. The object will not receive messages generated by a <m>note</m> or <m>midinote</m> message to the left inlet of the parent <o>poly~</o> object when the &quot;busy&quot; state is on.
			</description>
		</method>
		<method name="mute">
			<arglist>
				<arg name="mute-flag" optional="0" type="int" />
			</arglist>
			<digest>
				Disable DSP processing for the patcher instance
			</digest>
			<description>
				Disables DSP processing for the loaded instance of the patcher when the message <m>mute 1</m> is received. This message can be combined with an <m>int</m> message which toggles the &quot;busy&quot; state of the patcher to create voices in a patcher which are only on while they play a &quot;note&quot;.
			</description>
		</method>
		<method name="signal">
			<arglist />
			<digest>
				Set the &quot;busy&quot; state of the patcher instance
			</digest>
			<description>
				Sets the &quot;busy&quot; state of the patcher instance. The busy state for the patcher instance is set to 1 when the <o>thispoly~</o> object receives a non-zero input signal. The busy state is set to 0 otherwise.
			</description>
		</method>
	</methodlist>
	<!--ATTRIBUTES-->
	<!--EXAMPLE-->
	<examplelist>
		<example img="thispoly~.png" caption="thispoly~ reports the instance number of its poly~ subpatcher" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="in" />
		<seealso name="in~" />
		<seealso name="out" />
		<seealso name="out~" />
		<seealso name="poly~" />
		<seealso name="11_polychapter01" module="msp" type="tutorial" />
	</seealsolist>
	<misc name="Output">
		<entry name="int">
			<description>
				Out left outlet: The instance number, starting at <m>1</m>, reported when <o>thispoly~</o> receives the <m>bang</m> message. If the patcher containing <o>thispoly~</o> was not loaded within a <o>poly~</o> object, <m>0</m> is output.
			</description>
		</entry>
		<entry name="int">
			<description>
				Out right outlet: If the loaded instance of the patcher is muted, a <m>1</m> is output. If the instance is not muted, a <m>0</m> is output.
			</description>
		</entry>
	</misc>
</c74object>
