<?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="mpeconfig" module="" category="">
	<digest>
		Configure a MIDI device that supports Multidimensional Polyphonic Expression (MPE) messages
	</digest>
	<description>
		The <o>mpeconfig</o> object is used to set up and configure zones for interpreting incoming MIDI to MPE devices.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			TEXT_HERE
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="INLET_TYPE">
			<digest>
				MPE Configuration Messages
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="INLET_TYPE">
			<digest>
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="OUTLET_TYPE">
			<digest>
				MIDI Output
			</digest>
			<description>
				Out left outlet: MIDI messages are sent out as individual bytes.
			</description>
		</outlet>
		<outlet id="1" type="OUTLET_TYPE">
			<digest>
				midievent Message Output
			</digest>
			<description>
				Out right outlet: A formatted <m>midievent</m> message for use with the <o>vst~</o> object.
			</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>
				Define a zone
			</digest>
			<description>
				The <m>bang</m> message causes a zone to be defined based on the current settings of <m>masterchan</m> and <m>chanrange</m>. You can have a maximum of 7 zones.
			</description>
		</method>
		<method name="clear">
			<arglist />
			<digest>
				Clear all zones
			</digest>
			<description>
				The <m>clear</m> message clears all currently configured zones and returns them to their default state.
			</description>
		</method>
		<method name="createzone">
			<arglist>
				<arg name="master-channel" type="int" optional="0" />
				<arg name="note-bend-range" type="int" optional="0" />
			</arglist>
			<digest>
				Single-step zone definition
			</digest>
			<description>
				The word <m>createzone</m>, followed by a list of two integers that define the Master channel and the Note bend range, will define a zone. No <m>bang</m> message is required when using this message. You can have a maximum of 7 zones configured in any way you wish amongst the 16 channels.
			</description>
		</method>
		<method name="masterbendrange">
			<arglist>
				<arg name="max-bend-range" type="int" optional="0" />
			</arglist>
			<digest>
				Set the master bend range
			</digest>
			<description>
				The word <m>masterbendrange</m>, followed by an integer that specifies the maximum pitch bend range in semitones, will set the pitch bend range for all zones. that define the Master channel and the Note bend range, will define a zone. No <m>bang</m> message is required when using this message.
			</description>
		</method>
		<method name="notebendrange">
			<arglist>
				<arg name="ARG_NAME_0" type="int" optional="0" />
			</arglist>
			<digest>
				Set the note bend range for a master channel
			</digest>
			<description>
				The word <m>notebandrange</m>, followed by an integer that specifies the maximum pitch bend range in semitones, will set the pitch bend range for a specified master channel.
				<br />
				<br />
				<b>Note:</b> If no master channel is set using a <m>@masterchan</m> attribute, the <m>notebandrange</m> message must always be preceded by a <m>masterchan</m> message to select a master channel, and followed by a <m>bang</m> message to define the zone.
			</description>
		</method>
	</methodlist>
	<!--ATTRIBUTES-->
	<attributelist>
		<attribute name="chanrange" get="1" set="1" type="int" size="1">
			<digest>
				Channel Range
			</digest>
			<description>
				The channel range specifies the number of channels following the zone master channel. (e.g. <m>masterchannel 1, chanrage 15</m> will be all 16 channels, and <m>masterchannel 1, chanrange 5</m> will be master channel 1 and the zone will run until the end of channel 6).
			</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="15" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Channel Range" />
			</attributelist>
		</attribute>
		<attribute name="masterchan" get="1" set="1" type="int" size="1">
			<digest>
				Zone Master Channel
			</digest>
			<description>
				The zone master channel specifies the first channel for the currently defined zone.
			</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="1" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Zone Master Channel" />
			</attributelist>
		</attribute>
	</attributelist>
	<!--EXAMPLE-->
	<examplelist>
		<example caption="" img="" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="midiin" />
		<seealso name="midiformat" />
		<seealso name="midiparse" />
		<seealso name="mpeformat" />
		<seealso name="mpeparse" />
		<seealso name="polymidiin" />
	</seealsolist>
</c74object>
