<?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="jit.playlist" module="jit" category="Jitter">
	<digest>
		Play video files
	</digest>
	<description>
		Use <o>jit.playlist</o> to organize sets of video files and play them back. Each video is given a visual representation in a clip where a selection from the entire video file may be choosen. Clips may be dragged within a jit.playlist to re-order them, or they maybe dragged to other jit.playlist objects by using the handle (dot) on the left side of the clip.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			Jitter
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="INLET_TYPE">
			<digest>
				Trigger Playlist Cues
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="matrix/texture">
			<digest>
				Playback Stream
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="1" type="matrix/texture">
			<digest>
				Playback Notifications
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="2" type="dict">
			<digest>
				(dict) content
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
	</outletlist>
	<palette category="Data, Audio" action="plot~" pic="plot~.svg" />
	<!--ARGUMENTS-->
	<objarglist />
	<!--parameter-->
	<parameter />
	<!--MESSAGES-->
	<methodlist>
		<method name="int">
			<arglist>
			</arglist>
			<digest>
				Start/stop playing a video file
			</digest>
			<description>
				0 stops video 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="video file" optional="0" type="symbol" />
				<arg name="clip number" optional="1" type="int" />
			</arglist>
			<digest>
				Add a new video file to the list
			</digest>
			<description>
				Add a new video file to the list. First argument specifies the video file. 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 compatible media files
			</digest>
			<description>
				Create a new <o>jit.playlist</o> object by dragging and dropping a compatible media file into an unlocked patch. To load additional media files into a <o>jit.playlist</o> object, drag the new file onto the <o>jit.playlist</o> UI until a line appears above or below the currently loaded file. To rearrange tracks within <o>jit.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="getclipattr">
			<arglist>
				<arg name="clip" optional="0" type="int" />
				<arg name="attribute" optional="0" type="symbol" />
			</arglist>
			<digest>
				Retrieve attribute state for a specific clip
			</digest>
			<description>
				The word <m>getclipattr</m>, followed by a clip number and attribute name, will send that attribute's value out the notification (middle) outlet of <o>jit.playlist</o>. This allows you to retrieve an attribute state for a specific clip. You can retrieve read-only attributes (e.g. duration, moviedim, etc.), along with most attributes supported by <o>jit.movie</o>.
			</description>
		</method>
		<method name="getcontent">
			<arglist />
			<digest>
				Get the contents 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>jit.playlist</o> in dictionary format. Connect the last outlet to a <o>dict.view</o> object to see the contents. Please note that most content states will not print their default values. These will only be printed if you explicitly set a value. 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 a clip in <o>jit.playlist</o>. 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>jit.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.
			</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 jit.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 jit.playlist. If only one argument is given, it serves as the end point for all clips in jit.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>jit.movie</o> attributes are available in jit.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>
	</methodlist>
	<!--ATTRIBUTES-->
	<attributelist>
		<attribute name="accentcolor" get="1" set="1" type="float" size="4">
			<digest>
				Controls Off Color
			</digest>
			<description>
				Sets the color of the loop icon when turned off.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Color" />
				<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 jit.playlist by dragging the handle (dot on the left side) for 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="bgcolor" get="1" set="1" type="float" size="4">
			<digest>
				Background Color
			</digest>
			<description>
				Sets the background color of the object in RGBA format.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Color" />
				<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="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 jit.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>
				Controls Color
			</digest>
			<description>
				Sets the controls color (when on) of the object in RGBA format.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" 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="drawto" get="1" set="1" type="symbol" size="1">
			<digest>
				Render context name
			</digest>
			<description>
				A render context name, used when <at>output_texture</at> is enabled. If no value is specified the attribute is set implicitly. In this case use the <m>getclipattr</m> message to query the value.
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Drawto" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</attribute>
		<attribute name="elementcolor" get="1" set="1" type="float" size="4">
			<digest>
				Clip Divider Color
			</digest>
			<description>
				Sets the clip divider color of the object in RGBA format.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Color" />
				<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 a jit.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="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="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="loopreport" get="1" set="1" type="int" size="1">
			<digest>
				Report when a video reaches the end of a loop
			</digest>
			<description>
				When <at>loopreport</at> is set to 1, the word &quot;loopnotify&quot;, followed by the clip number and file name, will be sent out the second outlet of <o>jit.playlist</o> every time the selected video file reaches the end of a loop.
			</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="output_texture" get="1" set="1" type="int" size="1">
			<digest>
				Output videos as a texture
			</digest>
			<description>
				When <at>output_texture</at> is set to 1, the video files in <o>jit.playlist</o> will be output as a texture. A valid GL context (e.g. a <o>jit.world</o> or <o>jit.pworld</o>) is required for texture output functionality.
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Output Texture" />
				<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_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="reportprogress" get="1" set="1" type="int" size="1">
			<digest>
				Report progress of video playback
			</digest>
			<description>
				When <at>reportprogress</at> is set to 1, the current playback position will be sent out the second outlet of <o>jit.playlist</o> as a float from 0-1.
			</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>
				Sets the selection color of the object in RGBA format.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Color" />
				<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>
				Display the file name
			</digest>
			<description>
				When <at>showname</at> is set to 1, the name of the video file is displayed in the <o>jit.playlist</o> UI.
			</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="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>
				Sets the color of the file name text in RGBA format.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Color" />
				<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>
	</attributelist>
	<!--EXAMPLE-->
	<examplelist>
		<example caption="" img="" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="jit.movie" />
		<seealso name="playlist~" />
		<seealso name="mc.playlist~" />
		<seealso name="jit.world" />
		<seealso name="jit.pworld" />
	</seealsolist>
	<discussion>
		The <o>jit.playlist</o> object inherits the following attributes from <o>jit.movie</o>. See the <o>jit.movie</o> reference page for descriptions.
		<br />
		<i>colormode
			<br />
			interp
			<br />
			unique
			<br />
			vol
			<br />
			rate
			<br />
			seamless_loopcount (avf engine only)
			<br />
			cache_size (viddll engine only)
			<br />
			<br />
</i> Attributes inherited from <o>jit.movie</o> are applied globally to each clip in the playlist. Use the <m>setclip</m> message to override values for specific clips. Global and clip specific attribute values are saved in the playlist's content dictionary and reloaded with the patch. Access these values via the <m>getcontent</m> message.
	</discussion>
</c74object>
