<?xml-stylesheet href="./_c74_ref.xsl" type="text/xsl"?>

<c74object box="0" name="Snapshot Messages" category="Unlisted" module="msp">
	<digest>
		Messages and attributes common to the Snapshot group
	</digest>
	<description />
	<metadatalist />
	<inletlist />
	<outletlist />
	<!--ARGUMENTS-->
	<objarglist />
	<!-- METHODS -->
	<methodlist>
		<method name="snapshot">
			<arglist>
				<arg name="file-name" type="symbol" optional="1" />
			</arglist>
			<digest>
				Create a snapshot
			</digest>
			<description>
				Create a snapshot. When <m>embedsnapshot</m> is on it will be saved into the current patcher. Otherwise it will be saved in an external file. You can determine the filename by an argument to this message.
			</description>
			<attributelist>
				<attribute name="introduced" get="1" set="1" type="symbol" size="1" value="7.0.0" />
			</attributelist>
		</method>
		<method name="restore">
			<arglist>
				<arg name="file-name" type="symbol" optional="1" />
			</arglist>
			<digest>
				Restore a snapshot
			</digest>
			<description>
				Restore a snapshot. When <m>embedsnapshot</m> is on, the snapshot that is embedded in the current patcher will be used. Otherwise it will be loaded from an external file. You can determine the filename by an argument to this message.
			</description>
			<attributelist>
				<attribute name="introduced" get="1" set="1" type="symbol" size="1" value="7.0.0" />
			</attributelist>
		</method>
		<method name="addsnapshot">
			<arglist>
				<arg name="userpath" type="String" optional="1" />
				<arg name="index" type="Number" optional="1" />
				<arg name="name" type="String" optional="1" />
			</arglist>
			<digest>
				Add a snapshot
			</digest>
			<description>
				Add a new snapshot. If there are no arguments, it will append the new snapshot to the current list of snapshots. If the first argument is a string containing a file path, Max will try to save a .maxsnap file to that location. If the first argument is a number, it will save the snapshot to that slot, incrementing subsequent slots. If the second argument is a string, it will set the name of the snapshot.
			</description>
		</method>
		<method name="deletesnapshot">
			<arglist>
				<arg name="index" type="Number" optional="0" />
			</arglist>
			<digest>
				Delete a snapshot
			</digest>
			<description>
				Delete a snapshot at the given index, decrementing subsequent slots.
			</description>
		</method>
		<method name="setsnapshotname">
			<arglist>
				<arg name="index" type="Number" optional="0" />
				<arg name="name" type="String" optional="0" />
			</arglist>
			<digest>
				Set snapshot name
			</digest>
			<description>
				Set the name of the snapshot at the given index.
			</description>
		</method>
		<method name="setembedsnapshot">
			<arglist />
			<arglist>
				<arg name="index" type="Number" optional="0" />
				<arg name="embedstate" type="Number" optional="0" />
			</arglist>
			<digest>
				Set snapshot embed state
			</digest>
			<description>
				Set the embed state of the snapshot at the index.
			</description>
		</method>
		<method name="movesnapshot">
			<arglist>
				<arg name="srcindex" type="Number" optional="0" />
				<arg name="dstindex" type="Number" optional="0" />
			</arglist>
			<digest>
				Change a snapshot's index.
			</digest>
			<description />
		</method>
	</methodlist>
	<!-- ATTRIBUTES -->
	<attributelist>
		<attribute get="0" name="autosave" size="1" set="1" type="int">
			<digest>
				Autosave snapshot state
			</digest>
			<description>
				When the containing patcher is saved, the state of this object's snapshots will also be saved.
			</description>
		</attribute>
	</attributelist>
</c74object>
