<?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="nslider" module="max" category="U/I">
	<digest>
		Output numbers from a notation display
	</digest>
	<description>
		<o>nslider</o> or &quot;Note Slider&quot; is a musical-notation-based integer value slider.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			Max
		</metadata>
		<metadata name="tag">
			U/I
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="INLET_TYPE">
			<digest>
				Note Value In
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="INLET_TYPE">
			<digest>
				Velocity Value In
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="OUTLET_TYPE">
			<digest>
				Note Value Out
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="1" type="OUTLET_TYPE">
			<digest>
				Velocity Value Out
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
	</outletlist>
	<palette category="Sliders" action="nslider" pic="nslider.svg" />
	<!--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>
				Send out the stored values
			</digest>
			<description>
				In left inlet: Sends out the pitch and velocity values currently stored in <o>nslider</o>.
			</description>
		</method>
		<method name="int">
			<arglist>
				<arg name="input" optional="0" type="int" />
			</arglist>
			<digest>
				Display and output a note value
			</digest>
			<description>
				The number received in the inlet is displayed graphically by <o>nslider</o> if it falls within its displayed range. The current velocity value (from 1 to 127) that <o>nslider</o> holds is sent out its right outlet, followed by the received number out the left outlet.
			</description>
		</method>
		<method name="float">
			<arglist>
				<arg name="input" optional="0" type="float" />
			</arglist>
			<digest>
				Display and output a note value
			</digest>
			<description>
				In left inlet: Converted to <m>int</m>.
			</description>
		</method>
		<method name="list">
			<arglist>
				<arg name="value-pair" optional="0" type="list" />
			</arglist>
			<digest>
				Set pitch and velocity, cause output
			</digest>
			<description>
				A list of two numbers sent to the left inlet of nslider can be used to set and output the note and velocity values.
			</description>
		</method>
		<method name="anything">
			<arglist>
				<arg name="ARG_NAME_0" type="list" optional="0" />
			</arglist>
			<digest>
				TEXT_HERE
			</digest>
			<description>
				TEXT_HERE
			</description>
		</method>
		<method name="chord">
			<arglist>
				<arg name="value-pairs" optional="0" type="list" />
			</arglist>
			<digest>
				Set and output multiple notes
			</digest>
			<description>
				In left inlet: The word <m>chord</m>, followed by a list of MIDI note name and velocity pairs, can be used to play chords on the <o>nslider</o> in polyphonic mode (set by the <m>mode 1</m> message). The <m>chord</m> message sends note-offs for currently held notes, followed by note-on commands for the specified note and velocity pairs. When the <o>nslider</o> object's state is saved by a <o>preset</o> object in polyphonic mode, the <o>preset</o> object will store <m>chord</m> messages.
			</description>
		</method>
		<method name="clear">
			<arglist />
			<digest>
				Clear all stored notes
			</digest>
			<description>
				In left inlet: The <m>clear</m> message will clear any notes on the staves, but will not trigger any output.
			</description>
		</method>
		<method name="flush">
			<arglist />
			<digest>
				Send note-off messages for all held notes
			</digest>
			<description>
				In left inlet: When the <o>nslider</o> object is in polyphonic mode (set by the <m>mode 1</m> message), the <m>flush</m> message will send note-offs to currently held notes and clear the <o>nslider</o> object's display.
			</description>
		</method>
		<method name="ft1">
			<arglist>
				<arg name="velocity" optional="0" type="float" />
			</arglist>
			<digest>
				Set the output velocity
			</digest>
			<description>
				In right inlet: Converted to <m>int</m>.
			</description>
		</method>
		<method name="in1">
			<arglist>
				<arg name="velocity" optional="0" type="int" />
			</arglist>
			<digest>
				Set the output velocity
			</digest>
			<description>
				In right inlet: The number received in the right inlet sets the output key velocity without triggering output.
			</description>
		</method>
		<method name="(mouse)">
			<digest>
				Output note values
			</digest>
			<description>
				<o>nslider</o> also sends out numbers when you click or drag on it with the mouse. The velocity value is determined by the previous value received in the right inlet.
				<br />
				If the <o>nslider</o> object is in polyphonic mode, you need to click on a note twice: once to send a note-on and draws the note, and once again to send a note-off and erase the note.
			</description>
		</method>
		<method name="set">
			<arglist>
				<arg name="value-pair" optional="0" type="list" />
			</arglist>
			<digest>
				Set pitch and velocity with no output
			</digest>
			<description>
				In left inlet: The word <m>set</m>, followed by a number, changes the value displayed by <o>nslider</o>, without triggering output. If the <m>set</m> message is followed by two numbers, both the note and velocity values are set, without causing output.
			</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 for the object in RGBA format.
			</description>
			<attributelist>
				<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="label" get="1" set="1" type="symbol" size="1" value="Background Color" />
				<attribute name="legacydefault" get="1" set="1" type="float" size="4" value="1. 1. 1. 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="bordercolor" get="1" set="1" type="atom" size="1">
			<digest>
				Border color
			</digest>
			<description>
				Sets the border color for the object in RGBA format.
			</description>
			<attributelist>
				<attribute name="invisible" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="obsolete" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</attribute>
		<attribute name="clefs" get="1" set="1" type="int" size="1">
			<digest>
				Display Clefs
			</digest>
			<description>
				TEXT_HERE
			</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="Display Clefs" />
				<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="fgcolor" get="1" set="1" type="float" size="4">
			<digest>
				Foreground color
			</digest>
			<description>
				Sets the foreground color for the object in RGBA format.
			</description>
			<attributelist>
				<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="label" get="1" set="1" type="symbol" size="1" value="Foreground Color" />
				<attribute name="legacydefault" get="1" set="1" type="float" size="4" value="0. 0. 0. 1." />
				<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="color" />
			</attributelist>
		</attribute>
		<attribute name="mode" get="1" set="1" type="int" size="1">
			<digest>
				Display mode
			</digest>
			<description>
				Sets the <m>nslider</m> object's mode of operation.
				<br />
				<m>Monophonic</m>: (the default) Only one note can be selected and displayed at one time.
				<br />
				<m>Polyphonic</m>: The <m>kslider</m> object keeps track of note-ons and note-offs, so it mirrors which notes are currently held down on your MIDI keyboard. A key is “turned off” by sending the <o>kslider</o> object a key on message with a velocity of 0.
			</description>
			<attributelist>
				<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="Value" />
				<attribute name="default" get="1" set="1" type="int" size="1" value="0" />
				<attribute name="enumvals" get="1" set="1" type="atom" size="2">
					<enumlist>
						<enum name="Monophonic">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="Polyphonic">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
					</enumlist>
				</attribute>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Display Mode" />
				<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="parameter_enable" get="1" set="1" type="int" size="1">
			<digest>
				Enable parameter mode handling
			</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="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="rounded" get="1" set="1" type="atom" size="1">
			<digest>
				Rounded corner radius
			</digest>
			<description>
				Sets the radius, in pixels for the <o>nslider</o> object.
			</description>
			<attributelist>
				<attribute name="invisible" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="obsolete" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</attribute>
		<attribute name="staffs" get="1" set="1" type="int" size="1">
			<digest>
				Display Staffs
			</digest>
			<description>
				TEXT_HERE
			</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="Display Staffs" />
				<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>
				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="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="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>
	</attributelist>
	<!--EXAMPLE-->
	<examplelist>
		<example img="nslider.png" caption="A useful tool to monitor an incoming MIDI stream" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="kslider" />
		<seealso name="makenote" />
		<seealso name="notein" />
		<seealso name="noteout" />
		<seealso name="pictslider" />
		<seealso name="rslider" />
		<seealso name="slider" />
	</seealsolist>
	<misc name="Output">
		<entry name="int">
			<description>
				<o>nslider</o> sends its current velocity value out its right outlet, followed by the (displayable) pitch value out its left outlet, when a number is received in its inlet or you click or drag on the object. In polyphonic mode, it will send a note value with a velocity of zero when a note is removed from the staves.
			</description>
		</entry>
	</misc>
</c74object>
