<?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="phasegroove~" module="" category="">
	<digest>
		Control groove~ With phasor~
	</digest>
	<description>
		The <o>phasegroove~</o> object converts ramps between 0 and 1 into a sample-increment signal that you can use to control the <o>groove~</o> object. <o>phasegroove~</o> must be connected to a <o>groove~</o>. Once connected, it knows about the <o>groove~</o> object's loop points and the sample it is playing.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			MSP
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="signal">
			<digest>
				Phase Input
			</digest>
			<description>
				Connect any object that sends a ramp from 0 - 1 or 1 to 0 such as a <o>phasor~</o>. Ascanding ramps play the sample forwards; descending ramps play it backwards.
			</description>
		</inlet>
		<inlet id="1" type="signal">
			<digest>
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="signal">
			<digest>
				Connect to groove~
			</digest>
			<description>
				The signal outlet produces a signal that increments the <o>groove~</o> object's sample position to match the position of the input phase ramp signal.
			</description>
		</outlet>
	</outletlist>
	<!--ARGUMENTS-->
	<objarglist>
	</objarglist>
	<!--MESSAGES-->
	<methodlist>
		<method name="signal">
			<arglist />
			<digest>
				Phase Input
			</digest>
			<description>
				Connect any object that sends a ramp such as a <o>phasor~</o> or <o>ramp~</o>.
			</description>
		</method>
	</methodlist>
	<!--ATTRIBUTES-->
	<attributelist>
		<attribute name="conflict" get="1" set="1" type="int" size="1">
			<digest>
				Fight With Timestretching
			</digest>
			<description>
				Normally, <o>phasegroove~</o> uses a different algorithm to control <o>groove~</o> when timestretching is enabled. However, by enabling the <at>conflict</at> attribute, <o>phasegroove~</o> uses the non-timestretching algorithm when timestretching is enabled, resulting in a stuttering effect.
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Fight With Timestretching" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
	</attributelist>
	<!--EXAMPLE-->
	<examplelist>
		<example caption="" img="" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="buffer~" />
		<seealso name="groove~" />
		<seealso name="mcs.groove~" />
		<seealso name="phasor~" />
		<seealso name="ramp~" />
	</seealsolist>
</c74object>
