<?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="mc.playlist~" module="msp" category="U/I">
	<digest>
		Play sound files with multichannel output
	</digest>
	<description>
		Use <o>mc.playlist~</o> to organize sound files and play them back using multichannel outputs. Each file's waveform is shown in a clip where you can select a portion of the file for playback. Drag clips within an <o>mc.playlist~</o> to re-order them, or drag clips to other <o>mc.playlist~</o> objects by using the dotted handle on the clip's left edge.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			MC
		</metadata>
		<metadata name="tag">
			Audio
		</metadata>
		<metadata name="tag">
			Soundfiles
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="INLET_TYPE">
			<digest>
				Messages
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="multi-channel signal">
			<digest>
				Output
			</digest>
			<description>
				<o>mc.playlist~</o> produces a multichannel signal containing the number of channels specified by the <at>channelcount</at> attribute.
			</description>
		</outlet>
		<outlet id="1" type="signal">
			<digest>
				Sync Output
			</digest>
			<description>
				The second outlet provides a single-channel sync signal. The integer part of the signal value is the index of the clip that is playing. The fractional part is the instantaneous position within that clip.
			</description>
		</outlet>
		<outlet id="2" type="signal">
			<digest>
				Playback Notifications
			</digest>
			<description>
				The third outlet sends the message <m>start</m> followed by a clip index and name when a clip starts playing and <m>done</m> followed by a clip index and name when a clip stops playing.
			</description>
		</outlet>
		<outlet id="3" type="dict">
			<digest>
				Current content
			</digest>
			<description>
				<o>mc.playlist~</o> outputs a dictionary describing its current contents out the right outlet in response to a <m>getcontent</m> message.
			</description>
		</outlet>
	</outletlist>
	<palette category="Data, Audio" action="plot~" pic="plot~.svg" />
	<!--ARGUMENTS-->
	<objarglist />
	<!--parameter-->
	<parameter />
	<!--MESSAGES-->
	<methodlist>
		<method name="int">
			<arglist>
				<arg name="clip" optional="0" type="int" />
			</arglist>
			<digest>
				Start/stop playing a soundfile
			</digest>
			<description>
				0 stops soundfile playback. A number greater than zero begins playback of the clip with that index. Indices begin counting at 1.
			</description>
		</method>
		<method name="append">
			<arglist>
				<arg name="soundfile" optional="1" type="symbol" />
				<arg name="clip-number" optional="1" type="int" />
			</arglist>
			<digest>
				Add a new soundfile to the list
			</digest>
			<description>
				Add a new soundfile to the list. First (optional) argument specifies the soundfile. Second (optional) argument specifies the slot number for the clip (starting at 1). If no arguments are listed, clicking the append message in a locked patcher will open a dialog box where you can choose a file to append.
			</description>
		</method>
		<method name="clear">
			<arglist />
			<digest>
				Remove all sound files
			</digest>
			<description>
				Remove all clips from the playlist. To remove just one clip, right-click on the file you wish to remove in a locked patcher and choose &quot;Remove&quot; from the contextual menu.
			</description>
		</method>
		<method name="(drag)">
			<digest>
				Drag and drop audio files
			</digest>
			<description>
				Create a new <o>mc.playlist~</o> object by dragging and dropping a multichannel audio file into an unlocked patch. To load additional audio files into an <o>mc.playlist~</o> object, drag the new file onto the <o>mc.playlist~</o> UI until a line appears above or below the currently loaded file. To rearrange tracks within <o>mc.playlist~</o>, click and drag the handle (dot on the left side) up or down in a locked patch. To replace a currently loaded file, drag the new file over the old one until the entire track is highlighted.
			</description>
		</method>
		<method name="getcontent">
			<arglist />
			<digest>
				Get the content and behavior of all clips
			</digest>
			<description>
				The word <m>getcontent</m> sends the contents and behavior of all clips out the last outlet of <o>mc.playlist~</o> in dictionary format. Connect the last outlet to a <o>dict.view</o> object to see the contents. Please note that for the &quot;absolutepath&quot; entry, the full file path for each clip will only be displayed if the file is not in Max's search path. If the file is in Max's search path, only the file name will be displayed.
			</description>
		</method>
		<method name="(mouse)">
			<digest>
				Press play/loop and make selections
			</digest>
			<description>
				Use your mouse to play and stop the playlist, also use it to select small parts of the sample for playback.
			</description>
		</method>
		<method name="next">
			<arglist />
			<digest>
				Play the next clip
			</digest>
			<description>
				Plays the next clip loaded in <o>mc.playlist~</o>.
			</description>
		</method>
		<method name="pause">
			<arglist />
			<digest>
				Pause playback
			</digest>
			<description>
				Pause playback of the current clip at the current position.
			</description>
		</method>
		<method name="remove">
			<arglist>
				<arg name="clip-number" optional="0" type="int" />
			</arglist>
			<digest>
				Remove a clip
			</digest>
			<description>
				The word <m>remove</m>, followed by a clip number starting at 1, removes that clip from the list.
			</description>
		</method>
		<method name="resume">
			<arglist />
			<digest>
				Resume playback
			</digest>
			<description>
				Resume playback from the current position if playback has been paused. This message has no effect when using signal-driven playback.
			</description>
		</method>
		<method name="selection">
			<arglist>
				<arg name="clip" optional="0" type="int" />
				<arg name="start" optional="0" type="float" />
				<arg name="end" optional="0" type="float" />
			</arglist>
			<digest>
				Select playback endpoints for a clip
			</digest>
			<description>
				Select playback endpoints for a clip using a normalized range (0.0 is the beginning, 1.0 is the end). The first argument specifies which clip (starting at 1). The second argument is the start point for the clip, and the third argument is the end point. If only two arguments are given, they serve as the start and end points for all clips in mc.playlist~. If only one argument is given, it serves as the clip number and clears any selection from that clip.
			</description>
		</method>
		<method name="selectionms">
			<arglist>
				<arg name="clip" optional="0" type="int" />
				<arg name="start" optional="0" type="float" />
				<arg name="end" optional="0" type="float" />
			</arglist>
			<digest>
				Select playback endpoints for a clip in milliseconds
			</digest>
			<description>
				Select playback endpoints for a clip in milliseconds. The first argument specifies which clip (starting at 1). The second argument is the start point for the clip, and the third argument is the end point. If only two arguments are given, they serve as the start and end points for all clips in mc.playlist~. If only one argument is given, it serves as the end point for all clips in mc.playlist~.
			</description>
		</method>
		<method name="setclip">
			<arglist>
				<arg name="clip" optional="0" type="int" />
				<arg name="attribute" optional="0" type="symbol" />
				<arg name="value" optional="0" type="anything" />
			</arglist>
			<digest>
				Set an attribute state for a specific clip
			</digest>
			<description>
				<o>sfplay~</o> attributes are available in mc.playlist~. To control a specific clip, use the &quot;setclip&quot; message followed by the clip number, attribute name, and value. The message &quot;setclip 2 loop 1&quot; will turn looping on for clip 2.
			</description>
		</method>
		<method name="signal">
			<arglist />
			<digest>
				Trigger a stored cue with sample accuracy
			</digest>
			<description>
				An input signal may be used for the sample-accurate triggering of prestored cues. When a signal value is received in the left inlet, the integer portion of the signal value is monitored. When the integer portion of the input signal changes to a value equal to the index of a prestored cue, that cue is triggered. Indexes start at 1. A signal value of 0 stops audio. Negative values are ignored.
			</description>
		</method>
	</methodlist>
	<!--ATTRIBUTES-->
	<attributelist>
		<attribute name="accentcolor" get="1" set="1" type="float" size="4">
			<digest>
				Controls Off Color
			</digest>
			<description>
				Set the color of the loop icon when turned off.
			</description>
			<attributelist>
				<attribute name="attr_attr_save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Color" />
				<attribute name="dynamiccolor_default" get="1" set="1" type="symbol" size="1" value="accentcolor" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Controls Off Color" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="preview" get="1" set="1" type="symbol" size="1" value="circle_fill" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="set" get="1" set="1" type="pointer" size="1" value="pointer" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="rgba" />
			</attributelist>
		</attribute>
		<attribute name="allowreorder" get="1" set="1" type="int" size="1">
			<digest>
				Allow the re-ordering of clips
			</digest>
			<description>
				Allow the re-ordering of clips in mc.playlist~ by dragging the handle (dot on the left side) of a clip above or below other clips.
			</description>
			<attributelist>
				<attribute name="default" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="enumvals" get="1" set="1" type="atom" size="3">
					<enumlist>
						<enum name="Off">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="On">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="Automatic">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
					</enumlist>
				</attribute>
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<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="enumindex" />
			</attributelist>
		</attribute>
		<attribute name="basictuning" get="1" set="1" type="int" size="1">
			<digest>
				Basic tuning (from A)
			</digest>
			<description>
				Set a tuning standard based on a frequency for A for pitch correction operations (440 = default, range is 400 - 500). Both <at>timestretch</at> and <at>pitchcorrection</at> need to be enabled to adjust the basic tuning.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="symbol" size="1" value="Pitchcorrection" />
				<attribute name="dontsave" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="introduced" get="1" set="1" type="symbol" size="1" value="7.0.0" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Basic tuning" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</attribute>
		<attribute name="bgcolor" get="1" set="1" type="float" size="4">
			<digest>
				Background Color
			</digest>
			<description>
				Set the background color of <o>mc.playlist~</o>.
			</description>
			<attributelist>
				<attribute name="attr_attr_save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Color" />
				<attribute name="dynamiccolor_default" get="1" set="1" type="symbol" size="1" value="bgcolor" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Background Color" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="preview" get="1" set="1" type="symbol" size="1" value="rect_fill" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="set" get="1" set="1" type="pointer" size="1" value="pointer" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="rgba" />
			</attributelist>
		</attribute>
		<attribute name="channelcount" get="1" set="1" type="int" size="1">
			<digest>
				Number of audio channels
			</digest>
			<description>
				Number of audio channels to playback. Changing this attribute will clear the mc.playlist~ content.
			</description>
			<attributelist>
				<attribute name="default" get="1" set="1" type="int" size="1" value="2" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Channel Count" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</attribute>
		<attribute name="clipheight" get="1" set="1" type="float" size="1">
			<digest>
				Height alloted for each clip to be displayed
			</digest>
			<description>
				Height alloted for each clip to be displayed. This value may be altered when dragging new clips into the mc.playlist~ according to the <at>expansion</at> attribute.
			</description>
			<attributelist>
				<attribute name="default" get="1" set="1" type="float" size="1" value="30." />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Clip Height" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</attribute>
		<attribute name="color" get="1" set="1" type="float" size="4">
			<digest>
				Waveform/Controls Color
			</digest>
			<description>
				Set the color for the waveform and controls.
			</description>
			<attributelist>
				<attribute name="attr_attr_save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Color" />
				<attribute name="dynamiccolor_default" get="1" set="1" type="symbol" size="1" value="color" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Waveform/Controls Color" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="preview" get="1" set="1" type="symbol" size="1" value="humps" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="set" get="1" set="1" type="pointer" size="1" value="pointer" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="rgba" />
			</attributelist>
		</attribute>
		<attribute name="elementcolor" get="1" set="1" type="float" size="4">
			<digest>
				Clip Divider Color
			</digest>
			<description>
				Set the clip divider color.
			</description>
			<attributelist>
				<attribute name="attr_attr_save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Color" />
				<attribute name="dynamiccolor_default" get="1" set="1" type="symbol" size="1" value="elementcolor" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Clip Divider Color" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="preview" get="1" set="1" type="symbol" size="1" value="horizontal_lines" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="set" get="1" set="1" type="pointer" size="1" value="pointer" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="rgba" />
			</attributelist>
		</attribute>
		<attribute name="expansion" get="1" set="1" type="symbol" size="1">
			<digest>
				Style of accomodation for adding clips
			</digest>
			<description>
				Style of accomodation for adding clips to an mc.playlist~ with no empty space available.
			</description>
			<attributelist>
				<attribute name="default" get="1" set="1" type="symbol" size="1" value="squeeze" />
				<attribute name="enumvals" get="1" set="1" type="atom" size="3">
					<enumlist>
						<enum name="squeeze">
							<digest>
								Maintain the size of the box and reduce the height of all clips to make room.
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="static">
							<digest>
								Maintain both the size of the box and the height of all clips.  A scroll bar will need to be used to access clips out of view.
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="grow">
							<digest>
								Expand the size of the box downward, while maintaining the height of all clips.
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
					</enumlist>
				</attribute>
				<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="enum" />
			</attributelist>
		</attribute>
		<attribute name="followglobaltempo" get="1" set="1" type="int" size="1">
			<digest>
				Follow global tempo
			</digest>
			<description>
				When followgobaltempo is enabled for a clip in <o>mc.playlist~</o>, <o>mc.sfplay~</o> will calculate the current tempo out of the ratio between <at>originaltempo</at> and global tempo and adapt to global tempo changes.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="symbol" size="1" value="Timestretching Global Transport" />
				<attribute name="dontsave" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="introduced" get="1" set="1" type="symbol" size="1" value="7.0.0" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Follow Global Tempo" />
				<attribute name="order" get="1" set="1" type="int" size="1" value="1" />
				<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="formant" get="1" set="1" type="float" size="1">
			<digest>
				Formant Scale
			</digest>
			<description>
				Set the amount of formant scaling when pitchshifting is performed. <at>timestretch</at> must be enabled to adjust the formant scaling.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="symbol" size="1" value="Timestretching" />
				<attribute name="default" get="1" set="1" type="float" size="1" value="1." />
				<attribute name="dontsave" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="introduced" get="1" set="1" type="symbol" size="1" value="7.0.0" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Formant Scale" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</attribute>
		<attribute name="formantcorrection" get="1" set="1" type="int" size="1">
			<digest>
				Turn on formant correction
			</digest>
			<description>
				Turn on formant correction when pitch correction is performed. Both <at>timestretch</at> and <at>pitchcorrection</at> need to be enabled first.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="symbol" size="1" value="Pitchcorrection" />
				<attribute name="dontsave" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="introduced" get="1" set="1" type="symbol" size="1" value="7.0.0" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Turn on formant correction" />
				<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="loop" get="1" set="1" type="int" size="1">
			<digest>
				Turn looping on/off
			</digest>
			<description>
				Turn looping on/off.
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Loop" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="loopreport" get="1" set="1" type="int" size="1">
			<digest>
				Loop Report
			</digest>
			<description>
				When enabled, the message &quot;loopnotify&quot;, followed by the clip number and file name, is sent out the fourth outlet of <o>mc.playlist~</o> every time a loop occurs.
			</description>
			<attributelist>
				<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="Loop Report" />
				<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="mode" get="1" set="1" type="int" size="1">
			<digest>
				Timestretching Mode
			</digest>
			<description>
				Set the timestretching mode to be used. Each mode is optimized for handling different kinds of audio material. All modes are zero latency. <at>timestretch</at> must be enabled first.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="symbol" size="1" value="Timestretching" />
				<attribute name="dontsave" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="enumvals" get="1" set="1" type="atom" size="6">
					<enumlist>
						<enum name="basic">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="monophonic">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="rhythmic">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="general">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="extremestretch">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="efficient">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
					</enumlist>
				</attribute>
				<attribute name="introduced" get="1" set="1" type="symbol" size="1" value="7.0.0" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Timestretching Mode" />
				<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="enum" />
			</attributelist>
		</attribute>
		<attribute name="name" get="1" set="1" type="symbol" size="1">
			<digest>
				Name
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="basic" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Name" />
			</attributelist>
		</attribute>
		<attribute name="originallength" get="1" set="1" type="Time Value" size="1">
			<digest>
				Original Length
			</digest>
			<description>
				The original length of the the audio file. This can be measured in ticks, bars.beats.units, or notevalues. Used by <at>followglobaltempo</at> to calculate the speed in relation to the global transport speed. Setting the <at>originallength</at> will calculate the <at>originaltempo</at>. <at>followglobaltempo</at> must be enabled first.
			</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="Timestretching Global Transport" />
				<attribute name="dontsave" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="introduced" get="1" set="1" type="symbol" size="1" value="7.0.0" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Original Length" />
				<attribute name="order" get="1" set="1" type="int" size="1" value="2" />
				<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="time" />
				<attribute name="units" get="1" set="1" type="atom" size="3" value="ticks bars.beats.units notevalues" />
			</attributelist>
		</attribute>
		<attribute name="originaltempo" get="1" set="1" type="float" size="1">
			<digest>
				Original Tempo
			</digest>
			<description>
				The original tempo of the the audio file. Used by <at>followglobaltempo</at> to calculate the speed in relation to the global transport speed. Setting the <at>originaltempo</at> will calculate the <at>originallength</at>. <at>followglobaltempo</at> must be enabled first.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="symbol" size="1" value="Timestretching Global Transport" />
				<attribute name="dontsave" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="introduced" get="1" set="1" type="symbol" size="1" value="7.0.0" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Original Tempo" />
				<attribute name="order" get="1" set="1" type="int" size="1" value="3" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</attribute>
		<attribute name="parameter_enable" get="1" set="1" type="int" size="1">
			<digest>
				Parameter Mode Enable
			</digest>
			<description>
				Enables use of this object with <link module="core" name="live_parameters" type="vignette">Max for Live Parameters</link> and allows for <link module="core" name="parameter_enable" type="vignette">setting initial parameter values</link> in the Max environment.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Parameter" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Parameter Mode Enable" />
				<attribute name="order" get="1" set="1" type="int" size="1" value="5" />
				<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="parameter_mappable" get="1" set="1" type="int" size="1">
			<digest>
				Visible to Mapping
			</digest>
			<description>
				When parameter_mappable is enabled, the object will be available for mapping to keyboard or MIDI input using the <link module="core" name="mappings" type="vignette">Mappings feature</link>.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Parameter" />
				<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="Visible to Mapping" />
				<attribute name="order" get="1" set="1" type="int" size="1" value="10" />
				<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="pitchcorrection" get="1" set="1" type="int" size="1">
			<digest>
				Turn on pitch correction
			</digest>
			<description>
				Enable/disables the formant-corrected chromatic intonation correction. <at>timestretch</at> must be enabled first. For more extensive real-time intonation correction, use the <o>retune~</o> object.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="symbol" size="1" value="Pitchcorrection" />
				<attribute name="dontsave" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="introduced" get="1" set="1" type="symbol" size="1" value="7.0.0" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Turn on pitch correction" />
				<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="pitchshift" get="1" set="1" type="float" size="1">
			<digest>
				Pitch Shifting Factor
			</digest>
			<description>
				Specify pitchshift as a factor of the original pitch (i.e. 2.0 = doubling of pitch, .5 = halving of the original pitch, etc.). <at>timestretch</at> must be enabled first.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="symbol" size="1" value="Timestretching" />
				<attribute name="default" get="1" set="1" type="float" size="1" value="1." />
				<attribute name="dontsave" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="introduced" get="1" set="1" type="symbol" size="1" value="7.0.0" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Pitch Shifting Factor" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</attribute>
		<attribute name="pitchshiftcent" get="1" set="1" type="int" size="1">
			<digest>
				Pitch Shifting in Cents
			</digest>
			<description>
				Specify pitchshift as positive or negative cent values (i.e. 100 = semitone up, -1200 = octave down). Cents may be specified as ints or floats. <at>timestretch</at> must be enabled first.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="symbol" size="1" value="Timestretching" />
				<attribute name="default" get="1" set="1" type="int" size="1" value="0" />
				<attribute name="dontsave" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="introduced" get="1" set="1" type="symbol" size="1" value="7.0.0" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Pitch Shifting in Cents" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</attribute>
		<attribute name="quality" get="1" set="1" type="int" size="1">
			<digest>
				Timestretching Quality
			</digest>
			<description>
				Choose the quality for timestretching output.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="symbol" size="1" value="Timestretching" />
				<attribute name="dontsave" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="enumvals" get="1" set="1" type="atom" size="4">
					<enumlist>
						<enum name="basic">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="good">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="better">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="best">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
					</enumlist>
				</attribute>
				<attribute name="introduced" get="1" set="1" type="symbol" size="1" value="7.0.0" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Timestretching Quality" />
				<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="enum" />
			</attributelist>
		</attribute>
		<attribute name="reportprogress" get="1" set="1" type="int" size="1">
			<digest>
				Report Progress
			</digest>
			<description>
				Report the progress (0. - 1.) of the currently playing media file via the notification output.
			</description>
			<attributelist>
				<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="Report Progress" />
				<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="selectioncolor" get="1" set="1" type="float" size="4">
			<digest>
				Selection Color
			</digest>
			<description>
				Set the color of selections.
			</description>
			<attributelist>
				<attribute name="attr_attr_save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Color" />
				<attribute name="dynamiccolor_default" get="1" set="1" type="symbol" size="1" value="selectioncolor" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Selection Color" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="preview" get="1" set="1" type="symbol" size="1" value="rect_fill" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="set" get="1" set="1" type="pointer" size="1" value="pointer" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="rgba" />
			</attributelist>
		</attribute>
		<attribute name="showname" get="1" set="1" type="int" size="1">
			<digest>
				Show File Name
			</digest>
			<description>
				Show the file name for each clip.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="symbol" size="1" value="Appearance" />
				<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="Show File Name" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<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="slurtime" get="1" set="1" type="float" size="1">
			<digest>
				Slur time
			</digest>
			<description>
				Set the time it takes for the correction to reach the full corrected amount. Typically, notes are a bit unstable at the beginning, because the attack phase of a sound has a higher amount of noise, and because singers gradually adjust their tuning after the onset of the note. The slur time makes the pitch correction sound natural because it models this effect. Higher values will yield a slower adaptation time and it will take longer for the correction to produce the corrected pitch. However, longer slur times will also preserve vibrato better. <at>timestretch</at> and <at>pitchcorrection</at> must be enabled first.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="symbol" size="1" value="Pitchcorrection" />
				<attribute name="default" get="1" set="1" type="float" size="1" value="0." />
				<attribute name="dontsave" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="introduced" get="1" set="1" type="symbol" size="1" value="7.0.0" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Slur time" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</attribute>
		<attribute name="speed" get="1" set="1" type="float" size="1">
			<digest>
				Playback speed
			</digest>
			<description>
				Set the playback speed. 1.0 = original speed, 0.5 = half-speed, etc.
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Speed" />
			</attributelist>
		</attribute>
		<attribute name="style" get="1" set="1" type="symbol" size="1">
			<digest>
				Object style
			</digest>
			<description>
				Sets the <link type="vignette" module="core" name="styles">style</link> to be applied to the object. Styles can be set using the <link type="vignette" module="core" name="format_palette">Format palette</link>.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="symbol" size="1" value="Appearance" />
				<attribute name="default" get="1" set="1" type="symbol" size="1" value="" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Style" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<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="style" />
			</attributelist>
		</attribute>
		<attribute name="textcolor" get="1" set="1" type="float" size="4">
			<digest>
				Text Color
			</digest>
			<description>
				Set the color of the file name text.
			</description>
			<attributelist>
				<attribute name="attr_attr_save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Color" />
				<attribute name="dynamiccolor_default" get="1" set="1" type="symbol" size="1" value="textcolor_inverse" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Text Color" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="preview" get="1" set="1" type="symbol" size="1" value="text_number" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="set" get="1" set="1" type="pointer" size="1" value="pointer" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="rgba" />
				<attribute name="stylemap" get="1" set="1" type="symbol" size="1" value="textcolor_inverse" />
			</attributelist>
		</attribute>
		<attribute name="timestretch" get="1" set="1" type="int" size="1">
			<digest>
				Turn on timestretching
			</digest>
			<description>
				Disable/enable timestretching. When timestretch is set to 1, you can control the quality of the conversion with the <at>mode</at>, <at>quality</at>, and <at>formant</at> attributes.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="symbol" size="1" value="Timestretching" />
				<attribute name="dontsave" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="introduced" get="1" set="1" type="symbol" size="1" value="7.0.0" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Turn on timestretching" />
				<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="waveformdisplay" get="1" set="1" type="int" size="1">
			<digest>
				Display style for waveforms
			</digest>
			<description>
				Display style for waveforms that represent each clip.
			</description>
			<attributelist>
				<attribute name="default" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="enumvals" get="1" set="1" type="atom" size="2">
					<enumlist>
						<enum name="Bi-Polar">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="Rectified">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
					</enumlist>
				</attribute>
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<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="enumindex" />
			</attributelist>
		</attribute>
	</attributelist>
	<!--EXAMPLE-->
	<examplelist>
		<example caption="" img="" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="playlist~" />
		<seealso name="jit.playlist" />
		<seealso name="sfplay~" />
		<seealso name="mc.sfplay~" />
		<seealso name="waveform~" />
		<seealso name="mc_multichannel_sources" module="core" type="vignette" />
		<seealso name="mc_topic" module="topics" type="vignette" />
	</seealsolist>
	<misc name="Output">
		<entry name="signal">
			<description>
				<o>mc.playlist~</o> outputs a multichannel signal with a number of channels specified by the <at>channelcount</at> attribute.
				<br />
				<br />
				The second outlet provides a single-channel sync signal. The integer part of the signal value is the index of the clip that is playing. The fractional part is the instantaneous position within that clip.
			</description>
		</entry>
		<entry name="list">
			<description>
				The third outlet sends messages of the form 'start N clipname' or 'done N clipname' where N is the index and 'clipname' is the name of the clip.
			</description>
		</entry>
		<entry name="dictionary">
			<description>
				The rightmost outlet sends a dictionary summary of the mc.playlist~ content in response to the 'getcontent' message.
			</description>
		</entry>
	</misc>
</c74object>
