<?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="multirange" module="MSP" category="MC">
	<digest>
		Graphical function breakpoint editor
	</digest>
	<description>
		multirange is designed to work with mc.evolve~ and mc.gradient to set their breakpoints
	</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>
				bang Outputs All, float Outputs Y at X, list Edits
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="OUTLET_TYPE">
			<digest>
				Interpolated Y1, Y2, Phase for Input X
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="1" type="OUTLET_TYPE">
			<digest>
				All Points in line Format
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="2" type="OUTLET_TYPE">
			<digest>
				dump Message Output (list)
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="3" type="OUTLET_TYPE">
			<digest>
				bang When Changed With Mouse
			</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>
	<!--parameter-->
	<parameter />
	<!--MESSAGES-->
	<methodlist>
		<method name="bang">
			<arglist />
			<digest>
				Reports current state out of 2nd inlet from the left
			</digest>
			<description>
				Outputs a series of multi-element lists out the middle-left outlet. The first three lists are the inital breakpoint's phase, y2 and y1 values. The next three contain the phase, y2 and y1 values for all subsequent breakpoints.
			</description>
		</method>
		<method name="int">
			<arglist>
				<arg name="lookup" type="int" optional="0" />
			</arglist>
			<digest>
				Function lookup
			</digest>
			<description>
				Sending a value within the <o>multirange</o> object's
				<a>
					domain
				</a>
				returns a list with the y1, y2 and phase at that x position.
			</description>
		</method>
		<method name="float">
			<arglist>
				<arg name="lookup" type="float" optional="0" />
			</arglist>
			<digest>
				Function lookup
			</digest>
			<description>
				Sending a value within the <o>multirange</o> object's
				<a>
					domain
				</a>
				returns a list with the y1, y2 and phase at that x position.
			</description>
		</method>
		<method name="list">
			<arglist>
				<arg name="x-value" optional="0" type="number" />
				<arg name="y2-value" optional="0" type="number" />
				<arg name="y1-value" optional="0" type="number" />
				<arg name="phase" optional="1" type="number" />
			</arglist>
			<digest>
				Add a new breakpoint
			</digest>
			<description>
				Creates a new breakpoint at the specified x-position. If the list contains only three values, the phase is set to the average of the y1 and y2 values. An optional 4th value can be used to speficy the phase value.
				<br />
				<br />
				A list with 5 values modifies the breakpoint at the index specified by the first list element (beginning with 0).
			</description>
		</method>
		<method name="clear">
			<arglist />
			<digest>
				Clear all breakpoints
			</digest>
			<description>
				The word <m>clear</m> by itself erases all existing breakpoints. The word <m>clear</m> can also be followed by one or more breakpoint indices (starting at 0) to clear selected breakpoints.
			</description>
		</method>
		<method name="dump">
			<arglist>
				<arg name="receive-name" optional="0" type="symbol" />
			</arglist>
			<digest>
				Output all breakpoints
			</digest>
			<description>
				Outputs a series of multiple element lists describing each break point out the <o>multirange</o> object's middle-right outlet. Each list contains the breakpoints X, Y1, Y2 and phase values. An optional symbol argument can be used to specify a <o>receive</o> objects as a destination.
			</description>
		</method>
		<method name="listdump">
			<arglist>
				<arg name="receive-name" optional="0" type="symbol" />
			</arglist>
			<digest>
				Output all breakpoints as a single list
			</digest>
			<description>
				Outputs a single list which contains all X, Y and phase values for each of the breakpoints out the <o>multirange</o> object's middle-right outlet. An optional symbol argument can be used to specify a <o>receive</o> objects as a destination.
			</description>
		</method>
		<method name="(mouse)">
			<digest>
				Manually add or edit breakpoints
			</digest>
			<description>
				You can use the mouse to add breakpoints to the <o>multirange</o> function; the finished function can then be sent to a <o>mc.evolve~</o> or <o>mc.gradient~</o> object for use as a control signal in MSP. The X, Y1, Y2 and phase values of the breakpoint are displayed in the upper part of the object’s box.
				<br />
				Clicking on empty space in the function adds a breakpoint at the current X position, which you can begin to move immediately by dragging.
				<br />
				Clicking on the bar connecting the Y1 and Y2 nodes and dragging allows you to change the X position of the breakpoint.
				<br />
				Clicking on either y point of a breakpoint allows you to adjust the value by dragging.
				<br />
				Shift-clicking on a breakpoint deletes that point from the function. Command-clicking on Macintosh or Control-clicking on Windows on a breakpoint toggles the sustain property of the point. Sustain points are outlined in white. Whenever an editing operation with the mouse is completed, a bang is sent out the right outlet.
				<br />
				Points with a Y value of 0 are outlined circles; other points are solid. This allows you to see at a glance whether a function starts or ends at Y = 0.
			</description>
		</method>
	</methodlist>
	<!--ATTRIBUTES-->
	<attributelist>
		<attribute name="bgcolor" get="1" set="1" type="float" size="4">
			<digest>
				Background Color
			</digest>
			<description>
				Sets the background color of the <o>multirange</o> objects display panel in the RGBA format.
			</description>
			<attributelist>
				<attribute name="attr_attr_save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="basic" 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="order" get="1" set="1" type="int" size="1" value="1" />
				<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="color" get="1" set="1" type="float" size="4">
			<digest>
				Color
			</digest>
			<description>
				Sets the color of the breakpoint and bar elements in the RGBA format.
			</description>
			<attributelist>
				<attribute name="attr_attr_save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="basic" 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="Color" />
				<attribute name="order" get="1" set="1" type="int" size="1" value="2" />
				<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="domain" get="1" set="1" type="float" size="1">
			<digest>
				Hi Domain Display Value (X-Axis)
			</digest>
			<description>
				Sets the maximum displayed X value, then modifies the X values of all breakpoints so that they remain in the same place given the new domain.
			</description>
			<attributelist>
				<attribute name="basic" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="default" get="1" set="1" type="float" size="1" value="1." />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Hi Domain Display Value (X-Axis)" />
				<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="elementcolor" get="1" set="1" type="float" size="4">
			<digest>
				Element Color
			</digest>
			<description>
				Sets the color of the regions between breakpoints and bar elements in the RGBA format.
			</description>
			<attributelist>
				<attribute name="attr_attr_save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="basic" 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="Element Color" />
				<attribute name="order" get="1" set="1" type="int" size="1" value="3" />
				<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="legend" get="1" set="1" type="int" size="1">
			<digest>
				Display Legend at Top of Object
			</digest>
			<description>
				Toggles the numerical display (legend) of the <m>multirange</m> object, displayed when a point is highlighted or updated.
			</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="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="Display Legend at Top of Object" />
				<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="parameter_enable" get="1" set="1" type="int" size="1">
			<digest>
				Parameter Mode Enable
			</digest>
			<description>
				Enables use of this object with <link type="vignette" module="core" name="live_parameters">Max for Live Parameters</link> and allows for <link type="vignette" module="core" name="parameter_enable">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="range" get="1" set="1" type="float" size="2">
			<digest>
				Lo and Hi Display Range (Y-Axis)
			</digest>
			<description>
				Sets the minimum and maximum display ranges for Y and phase values.
			</description>
			<attributelist>
				<attribute name="basic" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="default" get="1" set="1" type="float" size="2" value="0. 1." />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Lo and Hi Display Range (Y-Axis)" />
				<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="style" get="1" set="1" type="symbol" size="1">
			<digest>
				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 display color for text in RGBA format.
			</description>
			<attributelist>
				<attribute name="attr_attr_save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="basic" 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="order" get="1" set="1" type="int" size="1" value="4" />
				<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="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="mc.evolve~" />
		<seealso name="mc.function" />
		<seealso name="mc.gradient~" />
		<seealso name="mc.range~" />
		<seealso name="mc_topic" module="topics" type="vignette" />
	</seealsolist>
</c74object>
