<?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="el.chopper~">
	<digest>
		<o>el.chopper~</o> is an algorithmic buffer chopper.
	</digest>
	<description>
		This object plays random segments from a buffer with optional looping. Send a 1 to the rightmost inlet to lock a loop. 0 releases the loop.
    </description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Eric Lyon
		</metadata>
		<metadata name="tag">
			MSP
		</metadata>
		<metadata name="tag">
			LyonPotpourri
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
	</outletlist>
	<!--ARGUMENTS-->
	<objarglist>
		<objarg name="buffer name" type="symbol" optional="0">
			<digest>
				TEXT_HERE
			</digest>
			<description>
				The name of the buffer to be accessed.
			</description>
		</objarg>
		<objarg name="channel count" type="int" optional="0">
			<digest>
				TEXT_HERE
			</digest>
			<description>
				The number of channels in the buffer.
			</description>
		</objarg>
		<objarg name="fade time" type="float" optional="0">
			<digest>
				TEXT_HERE
			</digest>
			<description>
				The fade time for the smoothing envelope.
			</description>
		</objarg>
	</objarglist>
	<!--MESSAGES-->
	<methodlist>
		<method name="adjust_inverse">
			<arglist>
                <arg name="flag" type="int" optional="0" id="1" />
                
			</arglist>
			<digest>
				TEXT_HERE
			</digest>
			<description>
				Set loop adjustment to inverse behavior for changing fixed increments.
			</description>
		</method>
 		<method name="bang">
			<arglist>
			</arglist>
			<digest>
				TEXT_HERE
			</digest>
			<description>
				Selects a new loop.
			</description>
		</method>
		<method name="chopspec">
			<arglist>
                <arg name="loop specs" type="list" optional="0" id="1" />
                
			</arglist>
			<digest>
			</digest>
			<description>
				Set parameters as [minimum increment, maximum increment, minimum loopsize, maximum loopsize].			</description>
		</method>
		<method name="fixed_increment">
			<arglist>
                <arg name="increment" type="float" optional="0" id="1" />
                
			</arglist>
			<digest>
			</digest>
			<description>
				Set a fixed increment for the loop.
            </description>
		</method>
        <method name="increment_adjust">
			<arglist>
                <arg name="flag" type="int" optional="0" id="1" />
                
			</arglist>
			<digest>
			</digest>
			<description>
				When set, changes in the increment adjust loopsize to keep loop duration constant.
            </description>
		</method>
        <method name="jitter">
			<arglist>
                <arg name="percentage" type="float" optional="0" id="1" />
                
			</arglist>
			<digest>
			</digest>
			<description>
				
                Percentage of random deviation in loop start time. Specified between 0 - 1.
            </description>
		</method>
        <method name="mute">
			<arglist>
                <arg name="toggle" type="int" optional="0" id="1" />
                
			</arglist>
			<digest>
			</digest>
			<description>
                Turn off DSP for this object.
            </description>
		</method>
        <method name="newloop">
			<arglist>
			</arglist>
			<digest>
			</digest>
			<description>
                Call for a new loop. The same function as bang.
            </description>
		</method>
        <method name="rdur">
			<arglist>
                <arg name="percentage" type="float" optional="0" id="1" />
			</arglist>
			<digest>
			</digest>
			<description>
                Percentage of random deviation in loop duration. Specified between 0 - 1.
            </description>
		</method>
        <method name="recall_loop">
			<arglist>
                <arg name="storage location" type="int" optional="0" id="1" />
			</arglist>
			<digest>
			</digest>
			<description>
                Recall a loop previously stored with store_loop.
            </description>
		</method>
        <method name="retro_odds">
			<arglist>
                <arg name="odds" type="float" optional="0" id="1" />
			</arglist>
			<digest>
			</digest>
			<description>
                The odds of a given loop being played backwards. Specified from 0 - 1.
            </description>
		</method>
        <method name="rinc">
			<arglist>
                <arg name="percentage" type="float" optional="0" id="1" />
			</arglist>
			<digest>
			</digest>
			<description>
                Percentage of random deviation in loop increment. Specified between 0 - 1.
            </description>
		</method>
        <method name="set_loop">
			<arglist>
                <arg name="list" type="list" optional="0" id="1" />
			</arglist>
			<digest>
			</digest>
			<description>
                Specify a loop with a list. Data format: loop start, sample frames, increment.
            </description>
		</method>
        <method name="setbuf">
			<arglist>
                <arg name="buffer name" type="symbol" optional="0" id="1" />
			</arglist>
			<digest>
			</digest>
			<description>
                Change the buffer for this object.
            </description>
		</method>
        <method name="showloop">
			<arglist>
			</arglist>
			<digest>
			</digest>
			<description>
                Print the current loop data to Max window.
            </description>
		</method>
        <method name="store_loop">
			<arglist>
                <arg name="storage slot" type="int" optional="0" id="1" />
			</arglist>
			<digest>
			</digest>
			<description>
                Store the current loop to the specified slot. It can then be recalled with message recall_loop.
            </description>
		</method>
        <method name="sync_in">
			<arglist>
                <arg name="loop data" type="list" optional="0" id="1" />
			</arglist>
			<digest>
			</digest>
			<description>
                Use this message to sync one chopper~ object with another one sharing the same buffer. Connect the second outlet of the controlling chopper~ to a sync_in message connected to the receiving chopper~. Then send the message sync_out to the controlling chopper~.
            </description>
		</method>
        <method name="sync_out">
			<arglist>
			</arglist>
			<digest>
			</digest>
			<description>
                Use this to sync up another chopper~.
            </description>
		</method>
        <method name="taper">
			<arglist>
                <arg name="fade time" type="float" optional="0" id="1" />
			</arglist>
			<digest>
			</digest>
			<description>
                Set the fadein and fadeout time of the smoothing envelope.
            </description>
		</method>
	</methodlist>
	<!--ATTRIBUTES-->
	<attributelist>
	</attributelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="buffer~"/>
        <seealso name="el.bvplay~"/>
	</seealsolist>
    
</c74object>
