<?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.stutter~">
    
	<digest>
		Stuttering playback from a buffer
	</digest>
	<description>
		<o>el.stutter~</o> is a sample stutterer and precursor to <o>el.chopper~</o> just barely different enough to perhaps remain worthwhile. Note that the performance of this stutter~ is quite different from the official Max/MSP external of the same name.
    </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 buffer to read
			</description>
		</objarg>
		<objarg name="channel count" type="int" optional="0">
			<digest>
				TEXT_HERE
			</digest>
			<description>
				Channels in buffer. Default is 2.
			</description>
		</objarg>
		<objarg name="minimum loop time" type="float" optional="1">
			<digest>
				TEXT_HERE
			</digest>
			<description>
				Minimum loop. The default is 20 ms.
			</description>
		</objarg>
		<objarg name="maximum loop time" type="float" optional="1">
			<digest>
				TEXT_HERE
			</digest>
			<description>
				Maximum loop. The default is 200 ms.
			</description>
		</objarg>
		<objarg name="taper duration" type="float" optional="1">
			<digest>
				TEXT_HERE
			</digest>
			<description>
				Fadein and fadeout time for the envelope. Default is 2 ms.
			</description>
		</objarg>
    </objarglist>
	<!--MESSAGES-->
	<methodlist>
        
        <method name="bang">
			<arglist>
                <!--arg name="noise multiplier" type="list" optional="0" id="1" /-->
                
			</arglist>
			<digest>
				TEXT_HERE
			</digest>
			<description>
				Forces a new loop to be randomly selected.
            </description>
		</method>
        <method name="lock_loop">
            <arglist>
                <arg name="lock loop toggle" type="int" optional="0" id="1" />
                
            </arglist>
            <digest>
                TEXT_HERE
            </digest>
            <description>
                Toggle locked loop
            </description>
        </method>
		<method name="max_echo">
			<arglist>
                <arg name="maximum echo duration" type="float" optional="0" id="1" />
                
			</arglist>
			<digest>
				TEXT_HERE
			</digest>
			<description>
				Set maximum echo duration.
            </description>
		</method>
        
		<method name="min_echo">
			<arglist>
                <arg name="minimum echo duration" type="float" optional="0" id="1" />
                
			</arglist>
			<digest>
				TEXT_HERE
			</digest>
			<description>
				Set minimum echo duration.
            </description>
		</method>
        <method name="maxloop">
            <arglist>
                <arg name="maximum loop duration" type="float" optional="0" id="1" />
                
            </arglist>
            <digest>
                TEXT_HERE
            </digest>
            <description>
                Set maximum loop duration.
            </description>
        </method>
        <method name="minloop">
            <arglist>
                <arg name="minimum loop duration" type="float" optional="0" id="1" />
                
            </arglist>
            <digest>
                TEXT_HERE
            </digest>
            <description>
                Set minimum loop duration.
            </description>
        </method>
 
 <method name="rand_dur">
     <arglist>
         <arg name="random duration factor" type="float" optional="0" id="1" />
         
     </arglist>
     <digest>
         TEXT_HERE
     </digest>
     <description>
         Set random duration factor from 0.0 - 1.0.
     </description>
 </method>
 <method name="rand_start">
     <arglist>
         <arg name="random start factor" type="float" optional="0" id="1" />
         
     </arglist>
     <digest>
         TEXT_HERE
     </digest>
     <description>
         Set random start factor from 0.0 - 1.0.
     </description>
 </method>
		<method name="recall_loop">
			<arglist>
                <arg name="storage location" type="int" optional="0" id="1" />
                
			</arglist>
			<digest>
				TEXT_HERE
			</digest>
			<description>
				Recall a previously stored loop.
            </description>
		</method>
        
		<method name="show_loop">
			<arglist>
                <!--arg name="threshold" type="float" optional="0" id="1" /-->
                
			</arglist>
			<digest>
				TEXT_HERE
			</digest>
			<description>
				Print loop data to the Max window.
            </description>
		</method>
        
 		<method name="store_loop">
			<arglist>
                <arg name="storage location" type="int" optional="0" id="1" />
                
			</arglist>
			<digest>
				TEXT_HERE
			</digest>
			<description>
				Store the current loop in a memory location. Available locations are 0 - 1023.
            </description>
		</method>
        
        <method name="taper">
			<arglist>
                <arg name="taper duration" type="float" optional="0" id="1" />
                
			</arglist>
			<digest>
				TEXT_HERE
			</digest>
			<description>
				Set the taper duration (fadein and fadeout for the envelope).
            </description>
		</method>
        
        <!--method name="verbose">
			<arglist>
                <arg name="toggle" type="int" optional="0" id="1" />
                
			</arglist>
			<digest>
				TEXT_HERE
			</digest>
			<description>
				When set, various diagnostics are sent to the Max window.
                Off by default.
            </description>
		</method-->
    </methodlist>
	
    
	<!--ATTRIBUTES-->
	<!--attributelist>
     <attribute name="Static Increment" get="1" set="1" type="int" size="1">
     <digest/>
     <description>
     When this attribute is on, the increment is set for each note at the outset (in the right inlet) and remains constant for the duration of the note. When the attribute is off, the increment can be continuously manipulated, but is the same for all active notes.
     </description>
     </attribute>
     </attributelist-->
	<!--SEEALSO-->
	<seealsolist>
        <seealso name="stutter~"/>
        <seealso name="el.chopper~"/>
	</seealsolist>
    
</c74object>
