<?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="gen~" module="msp" category="MSP Code Generation">
	<digest>
		Generate native audio signal processing routines
	</digest>
	<description>
		The <o>gen~</o> object turns an embedded Gen patcher into signal processing routines of optimized native machine code. The Gen patcher can be built from a wide set of low-level Gen operator objects as well as embedded code expressions.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			MSP
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="INLET_TYPE">
			<digest>
				in 1
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="INLET_TYPE">
			<digest>
				in 2
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="OUTLET_TYPE">
			<digest>
				out 1
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
	</outletlist>
	<!--ARGUMENTS-->
	<objarglist>
		<objarg name="patcher-name" optional="1" type="symbol">
			<arglist />
			<digest>
				Name of a patcher to be loaded
			</digest>
			<description>
				The first argument, if given, specifies the name of a .gendsp patcher to be loaded which already exists and is in the Max search path. The patcher can also be specified using the <at>gen</at> attribute. If no Gen patcher is specified by argument or <at>gen</at> attribute, an embedded Gen patcher is created instead.
			</description>
		</objarg>
	</objarglist>
	<!--MESSAGES-->
	<methodlist>
		<method name="int">
			<arglist>
				<arg name="value" type="int" optional="0" />
			</arglist>
			<digest>
				Set input value
			</digest>
			<description>
				Set input value (if signal is not attached).
			</description>
		</method>
		<method name="float">
			<arglist>
				<arg name="value" type="float" optional="0" />
			</arglist>
			<digest>
				Set input value
			</digest>
			<description>
				Set input value (if signal is not attached).
			</description>
		</method>
		<method name="(mouse)">
			<digest>
				Double-click to open the Gen patcher
			</digest>
			<description>
				Double-click to open the Gen patcher.
			</description>
		</method>
		<method name="exportcode">
			<arglist />
			<digest>
				Export a gen patcher as code.
			</digest>
			<description>
				Export a gen patcher as C++ code.
			</description>
		</method>
		<method name="open">
			<arglist />
			<digest>
				Open the Gen patcher window
			</digest>
			<description>
				View the Gen patcher.
			</description>
		</method>
		<method name="signal">
			<arglist />
			<digest>
				Send signals to the Gen patcher
			</digest>
			<description>
				Send signals to the Gen patcher.
			</description>
		</method>
		<method name="reload">
			<arglist />
			<digest>
				Reload the Gen patcher
			</digest>
			<description>
				Reload the Gen patcher.
			</description>
		</method>
		<method name="reset">
			<arglist />
			<digest>
				Reset all parameters to defaults
			</digest>
			<description>
				Reset all parameters to defaults (including history values and buffer object associations).
			</description>
		</method>
		<method name="reset_param">
			<arglist>
				<arg name="name" type="symbol" />
			</arglist>
			<digest>
				Resets a specific parameter
			</digest>
			<description>
				Resets a specific param, history or buffer object to the default initial value.
			</description>
		</method>
		<method name="wclose">
			<arglist />
			<digest>
				Close the Gen patcher window
			</digest>
			<description>
				Close the view of the Gen patcher.
			</description>
		</method>
	</methodlist>
	<!--ATTRIBUTES-->
	<attributelist>
		<attribute name="autoexport" get="1" set="1" type="int" size="1">
			<digest>
				Automatically export on edit
			</digest>
			<description>
				Automaticall export code on edit.  Equivalent to sending the exportcode message every time an edit is made.
			</description>
			<attributelist>
				<attribute name="basic" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="category" get="1" set="1" type="symbol" size="1" value="Export" />
				<attribute name="default" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Automatically export on edit" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="cpu" get="1" set="0" type="float" size="1">
			<digest>
				Report CPU usage
			</digest>
			<description>
				Reports cpu usage as a fraction of available compute time, if <at>cpumeasure</at> is enabled.
			</description>
			<attributelist>
				<attribute name="basic" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="category" get="1" set="1" type="symbol" size="1" value="Behavior" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Show CPU Usage" />
				<attribute name="style" get="1" set="1" type="symbol" size="4" value="fraction of available time" />
			</attributelist>
		</attribute>
		<attribute name="cpumeasure" get="1" set="1" type="int" size="1">
			<digest>
				CPU monitoring toggle
			</digest>
			<description>
				CPU monitoring must be enabled for <at>cpu</at> to work.
			</description>
			<attributelist>
				<attribute name="basic" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="category" get="1" set="1" type="symbol" size="1" value="Behavior" />
				<attribute name="default" get="1" set="1" type="int" size="1" value="0" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Measure CPU Usage" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="dumpoutlet" get="1" set="1" type="int" size="1">
			<digest>
				Attribute Dump Outlet
			</digest>
			<description>
				Enables an additional &quot;dump&quot; outlet for diagnostics, such as reading the <at>cpu</at> attribute.
			</description>
			<attributelist>
				<attribute name="basic" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="category" get="1" set="1" type="symbol" size="1" value="Behavior" />
				<attribute name="default" get="1" set="1" type="int" size="1" value="0" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Attribute Dump Outlet" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="exportfolder" get="1" set="1" type="symbol" size="1">
			<digest>
				Folder to export into
			</digest>
			<description>
				Folder to export code into.  Used by the exportcode message to determine what directory to write source files into.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="symbol" size="1" value="Export" />
				<attribute name="default" get="1" set="1" type="symbol" size="1" value="" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Folder to export into" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="filefolder" />
			</attributelist>
		</attribute>
		<attribute name="exportname" get="1" set="1" type="symbol" size="1">
			<digest>
				Export Filename
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="basic" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="category" get="1" set="1" type="symbol" size="1" value="Export" />
				<attribute name="default" get="1" set="1" type="symbol" size="1" value="" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Export Filename" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</attribute>
		<attribute name="exportnotifier" get="1" set="1" type="symbol" size="1">
			<digest>
				Receive object name to receive export notification
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="basic" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="category" get="1" set="1" type="symbol" size="1" value="Export" />
				<attribute name="default" get="1" set="1" type="symbol" size="1" value="" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Receive object name to receive export notification" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</attribute>
		<attribute name="exportscript" get="1" set="1" type="symbol" size="1">
			<digest>
				Post export script
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="symbol" size="1" value="Export" />
				<attribute name="default" get="1" set="1" type="symbol" size="1" value="" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Post export script" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="file" />
			</attributelist>
		</attribute>
		<attribute name="exportscriptargs" get="1" set="1" type="symbol" size="1">
			<digest>
				Post export script arguments
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="basic" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="category" get="1" set="1" type="symbol" size="1" value="Export" />
				<attribute name="default" get="1" set="1" type="symbol" size="1" value="" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Post export script arguments" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</attribute>
		<attribute name="gen" get="1" set="1" type="symbol" size="1">
			<digest>
				Gen patcher name to load from disk
			</digest>
			<description />
			<attributelist>
				<attribute name="basic" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="category" get="1" set="1" type="symbol" size="1" value="Value" />
				<attribute name="default" get="1" set="1" type="symbol" size="1" value="" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Gen Expression" />
			</attributelist>
		</attribute>
		<attribute name="poll" get="1" set="1" type="int" size="1">
			<digest>
				Enable attribute polling
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="basic" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="category" get="1" set="1" type="symbol" size="1" value="Behavior" />
				<attribute name="default" get="1" set="1" type="int" size="1" value="0" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Enable attribute polling" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="t" get="1" set="1" type="symbol" size="1">
			<digest>
				Set patcher title
			</digest>
			<description>
				Set patcher title.
			</description>
		</attribute>
		<attribute name="title" get="1" set="1" type="symbol" size="1">
			<digest>
				Set patcher title
			</digest>
			<description>
				Set patcher title.
			</description>
		</attribute>
	</attributelist>
	<!--EXAMPLE-->
	<examplelist>
		<example img="gen~.png" caption="Using gen~ to host a Gen patcher" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="jit.gen" />
		<seealso name="jit.pix" />
		<seealso module="gen" name="gen_overview" type="vignette" />
		<seealso module="gen" name="gen_common_operators" type="vignette" />
		<seealso module="gen" name="gen~_operators" type="vignette" />
	</seealsolist>
</c74object>
