<?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.mask~">
    
	<digest>
		Click-driven pattern generator
	</digest>
	<description>
		<o>el.mask~</o> puts out the next value in its list in response to a click.</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="event sequence" type="list" optional="0">
			<digest>
				TEXT_HERE
			</digest>
			<description>
				A sequence of floats to be sent out in response to clicks.
			</description>
		</objarg>
	</objarglist>
	<!--MESSAGES-->
	<methodlist>
		<method name="addmask">
			<arglist>
                <arg name="mask data" type="list" optional="0" id="1" />
                
			</arglist>
			<digest>
				TEXT_HERE
			</digest>
			<description>
				The first value is the location to store this mask. This must be between 0 - 1023 inclusive. following is the mask pattern. The maximum length for mask patterns is 512 values.
            </description>
		</method>
        
		<method name="gate">
			<arglist>
                <arg name="toggle" type="int" optional="0" id="1" />
                
			</arglist>
			<digest>
				TEXT_HERE
			</digest>
			<description>
				When set, the mask sends out its pattern. (The default behvior.) When toggled off, the mask continues to advance, but does not send values out.
            </description>
		</method>
        
		<method name="gozero">
			<arglist>
                <!--arg name="toggle" type="int" optional="0" id="1" /-->
                
			</arglist>
			<digest>
				TEXT_HERE
			</digest>
			<description>
				The mask will return to its first value on the next click. This can be used to sync several mask~ units.
            </description>
		</method>
        
		<method name="noloop">
			<arglist>
                <arg name="toggle" type="int" optional="0" id="1" />
                
			</arglist>
			<digest>
				TEXT_HERE
			</digest>
			<description>
				If this is set, the mask will turn itself off when it reaches the end of its pattern ("mute 1"). By default the <i>noloop</i> toggle is off.
            </description>
		</method>
        
		<method name="phaselock">
			<arglist>
                <arg name="toggle" type="int" optional="0" id="1" />
                
			</arglist>
			<digest>
				TEXT_HERE
			</digest>
			<description>
                When this toggle is set, the phase will be maintained when switching from one pattern to the next. This assumes that all patterns have the same length; if not, behvior could become unpredictable. By default the <i>phaselock</i> toggle is off
            </description>
		</method>
        
		<method name="playonce">
			<arglist>
                <!--arg name="tempo" type="float" optional="0" id="1" /-->
                
			</arglist>
			<digest>
				TEXT_HERE
			</digest>
			<description>
                This sets the pattern to its start, and then mutes itself at the end of the pattern. This could be accomplished by a combination of "gozero" and "noloop".
            </description>
		</method>
        
		<method name="recall">
			<arglist>
                <arg name="pattern number" type="int" optional="0" id="1" />
                
			</arglist>
			<digest>
				TEXT_HERE
			</digest>
			<description>
                Recall the pattern stored at the requested slot. Needless to say, a pattern should be stored at a slot before it is recalled.
            </description>
		</method>
        
		<method name="sequence">
			<arglist>
                <arg name="pattern sequence" type="list" optional="0" id="1" />
                
			</arglist>
			<digest>
				TEXT_HERE
			</digest>
			<description>
                Start a sequence of masks. The arguments are a sequence of masks, all of which must have already been stored in the object.
            </description>
		</method>
        
		<method name="showmask">
			<arglist>
                <!--arg name="pattern sequence" type="list" optional="0" id="1" /-->
                
			</arglist>
			<digest>
				TEXT_HERE
			</digest>
			<description>
                Prints the current mask data to the Max window.
            </description>
		</method>
	</methodlist>
	<!--ATTRIBUTES-->
	<attributelist>
	</attributelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="el.samm~"/>
        <seealso name="el.adsr~"/>
        <seealso name="el.clickhold~"/>
        <seealso name="funbuff"/>
	</seealsolist>
    
</c74object>
