<?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="live.miditool.in" module="m4l" category="Live MIDI Objects">
	<digest>
		Retrieve notes and contextual data of MIDI clips in Live. Designed for use in a MIDI Tool Generator or MIDI Tool Transformation.
	</digest>
	<description>
		The <o>live.miditool.in</o> object is used in a MIDI Tool Generator or MIDI Tool Transformation and is responsible for retrieving note and contextual information of the currently selected clip in Live. In combination with the <o>live.miditool.out</o> object, you can develop a generative or transformative process that can be controlled and triggered from the Tool Tabs.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74, Ableton
		</metadata>
		<metadata name="tag">
			Live
		</metadata>
		<metadata name="tag">
			Live MIDI Objects
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="bang">
			<digest>
				Trigger output
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="bang">
			<digest>
				Trigger output
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="OUTLET_TYPE">
			<digest>
				Dictionary containing the notes from Live
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="1" type="OUTLET_TYPE">
			<digest>
				Dictionary containing the note context
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
	</outletlist>
	<!--ARGUMENTS-->
	<objarglist>
		<objarg id="0" name="OBJARG_NAME" type="OBJARG_TYPE" optional="0">
			<digest>
				TEXT_HERE
			</digest>
			<description>
				TEXT_HERE
			</description>
		</objarg>
	</objarglist>
	<!--MESSAGES-->
	<methodlist>
		<method name="bang">
			<arglist />
			<digest>
				Triggers the retrieval of the clip data and starts or continues an iteration of an apply cycle.
			</digest>
			<description>
				A bang will continue or start an iteration of the apply cycle. In either case, a dictionary of notes is provided from the left outlet, and another dictionary of contextual information is provided from the right outlet.
			</description>
		</method>
		<method name="(MIDI)">
			<digest>
				TEXT_HERE
			</digest>
			<description>
				TEXT_HERE
			</description>
		</method>
	</methodlist>
	<!--ATTRIBUTES-->
	<!--EXAMPLE-->
	<examplelist>
		<example caption="" img="" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="live_miditools" module="core" type="vignette" display="Max for Live MIDI Tools" />
		<seealso name="live_api_overview" module="core" type="vignette" display="Live API Overview" />
		<seealso name="live_object_model" module="core" type="vignette" display="Live Object Model" />
		<seealso name="live.miditool.out" />
		<seealso name="live.object" />
		<seealso name="live.path" />
		<seealso name="live.observer" />
		<seealso display="Using the Live API" module="core" name="live_api" type="vignette" />
		<seealso display="The LiveAPI JavaScript Object (jsliveapi)" module="js" name="jsliveapi" type="vignette" />
	</seealsolist>
	<discussion>
		The <o>live.miditool.in</o> object is an essential building block of a Max for Live MIDI Tool and can only be used in an AMXD with the Note Generator or Note Transformation type. It will not work in an Audio Effect, MIDI Effect or Instrument device.
		<br />
		<br />
		When <o>live.miditool.in</o> receives a bang it will start a new apply cycle or continue an existing one. Starting an apply cycle will retrieve the notes and contextual information of the currently selected clip. The notes are sent out the left outlet as a dictionary, and the contextual information is sent out the right outlet as a dictionary. Performing a user interaction outside of the MIDI Tool, for example, selecting a different clip, will cause the apply cycle to stop. The next time a bang is received, a new apply cycle will start. Continuation of the apply cycle will return the notes and contextual information of the clip from <i>when you began the cycle</i> and won't reflect the updated state of the clip if you modified it in the previous cycle. If you click the &quot;Apply&quot; button in the Tool Tabs, a cycle is started and ended in one interaction.
	</discussion>
</c74object>
