<?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="scope~" module="msp" category="MSP U/I">
	<digest>
		Visualize an audio signal
	</digest>
	<description>
		Use the <o>scope~</o> object to visualize and audio signal using an oscilloscope-style display.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			MSP
		</metadata>
		<metadata name="tag">
			MSP U/I
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="signal">
			<digest>
				(signal) X Display, int Sets Buffers Per Pixel
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="signal">
			<digest>
				(signal) Y Display, Samples Per Buffer
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<palette category="Audio" action="scope~" pic="scope~.svg" />
	<!--OUTLETS-->
	<!--ARGUMENTS-->
	<objarglist />
	<!--MESSAGES-->
	<methodlist>
		<method name="int">
			<arglist>
				<arg name="object-settings" optional="0" type="int" />
			</arglist>
			<digest>
				Function depends on inlet
			</digest>
			<description>
				Left inlet: Number of samples collected for each value in the display buffer. Smaller numbers expand the image but make it scroll by on the screen faster. The minimum value is 2, the maximum is 8092, and the default initial value is 256. In X or Y mode, the most maximum or minimum value seen within this period is used. In X-Y mode, a representative sample from this period is used.
				<br />
				<br />
				Right inlet: Size of the display buffer. This controls the rate at which <o>scope~</o> redisplays new information as well as the scaling of that information. If the buffer size is larger, the signal image will stay on the screen longer and be visually compressed. If the buffer size is smaller, the signal image will stay on the screen a shorter time before it is refreshed and will be visually expanded.
				<br />
				<br />
				It might appear that the samples per display buffer element and the display buffer size controls do the same thing but they have subtly different effects. You may need to experiment with both controls to find the optimum display parameters for your application.
			</description>
		</method>
		<method name="(mouse)">
			<digest>
				Click to freeze the display for as long as you hold the click
			</digest>
			<description>
				TEXT_HERE
			</description>
		</method>
		<method name="signal">
			<arglist />
			<digest>
				Function depends on inlet
			</digest>
			<description>
				Left inlet: signal to display on the X axis of the oscilloscope
				<br />
				Right inlet: signal to display on the Y axis of the oscilloscope
				<br />
				<br />
				If signal objects are connected to both the left and right inlets, <o>scope~</o> operates in X-Y mode, plotting points whose horizontal position corresponds to the value of the signal coming into the left (X) inlet and whose vertical position corresponds to the value of the signal coming into the right (Y) inlet. If the two signals are identical and in phase, a straight line increasing from left to right will be seen. If the two signals are identical and 180 degrees out of phase, a straight line decreasing from left to right will be seen. Other combinations may produce circles, ellipses, and
				<a href="http://en.wikipedia.org/wiki/Lissajous_curve">
					Lissajous
				</a>
				figures.
			</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 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="0.53 0.53 0.53 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>
				TEXT_HERE
			</digest>
			<description>
				TEXT_HERE
			</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="bufsize" get="1" set="1" type="atom_long" size="1">
			<digest>
				Buffer Size
			</digest>
			<description>
				Number of samples stored in the buffer
			</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="atom_long" size="1" value="128" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Buffer Size" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</attribute>
		<attribute name="calccount" get="1" set="1" type="atom_long" size="1">
			<digest>
				Calccount - samples per pixel
			</digest>
			<description>
				Sets the number of samples per pixel to display
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Value" />
				<attribute name="default" get="1" set="1" type="atom_long" size="1" value="256" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Calccount - samples per pixel" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</attribute>
		<attribute name="delay" get="1" set="1" type="float" size="1">
			<digest>
				Onset Delay
			</digest>
			<description>
				Delay between each &quot;trace&quot; of oscilloscope in milliseconds
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Value" />
				<attribute name="default" get="1" set="1" type="float" size="1" value="0." />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Onset Delay" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</attribute>
		<attribute name="drawstyle" get="1" set="1" type="int" size="1">
			<digest>
				Drawing Style
			</digest>
			<description>
				Toggles an alternate drawing style which may make some waveforms more easily visible
			</description>
			<attributelist>
				<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="label" get="1" set="1" type="symbol" size="1" value="Drawing Style" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</attribute>
		<attribute name="fgcolor" get="1" set="1" type="float" size="4">
			<digest>
				Phosphor Color
			</digest>
			<description>
				Sets the phosphor color in RGBA format. The <m>fgcolor</m> attribute is mapped to the <m>color</m>  <link module="core" name="maxcolor" type="vignette">style color</link>.
			</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="Phosphor Color" />
				<attribute name="legacydefault" get="1" set="1" type="float" size="4" value="0.403 1. 0.2 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="wave" />
				<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="gridcolor" get="1" set="1" type="float" size="4">
			<digest>
				Grid Color
			</digest>
			<description>
				Sets the grid color in RGBA format. The <m>gridcolor</m> attribute is mapped to the <m>elementcolor</m>  <link module="core" name="maxcolor" type="vignette">style color</link>.
			</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="Grid Color" />
				<attribute name="legacydefault" get="1" set="1" type="float" size="4" value="0.33 0.33 0.33 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="gridlines" />
				<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="elementcolor" />
			</attributelist>
		</attribute>
		<attribute name="range" get="1" set="1" type="float" size="2">
			<digest>
				Lo and Hi display range (Y-axis)
			</digest>
			<description>
				Minimum/maximum amplitudes displayed vertically
			</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="float" size="2" value="-1. 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="rounded" get="1" set="1" type="atom" size="1">
			<digest>
				TEXT_HERE
			</digest>
			<description>
				TEXT_HERE
			</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="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>
		<attribute name="trigger" get="1" set="1" type="int" size="1">
			<digest>
				Trigger mode
			</digest>
			<description>
				Trigger mode determines when a new waveform trace begins (following the
				<attr>
					delay
				</attr>
				).
				<br />
				<m>trigger 1</m> sets an upward trigger in which the signal must go from being below the
				<attr>
					triglevel
				</attr>
				to being equal to it or above it.
				<br />
				<m>trigger 2</m> sets a downward trigger in which the signal must go from being above the
				<attr>
					triglevel
				</attr>
				level to being equal to it or below it.
				<br />
				The default trigger mode is 0, which does not wait after a non-zero delay period before collecting samples again.
			</description>
			<attributelist>
				<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="3">
					<enumlist>
						<enum name="None">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="Up">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="Down">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
					</enumlist>
				</attribute>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Trigger Mode" />
				<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="triglevel" get="1" set="1" type="float" size="1">
			<digest>
				Trigger threshold
			</digest>
			<description>
				Threshold to trip trigger mode. When
				<attr>
					trigger
				</attr>
				mode is 1 or 2, the waveform must increase or decrease past this value to trigger a new trace. If you are displaying a periodic waveform, slight changes to the trigger level will shift the waveform to the left or right.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Value" />
				<attribute name="default" get="1" set="1" type="float" size="1" value="0." />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Value for Trigger" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</attribute>
	</attributelist>
	<!--EXAMPLE-->
	<examplelist>
		<example img="scope~.png" caption="Display a signal, or plot two signals in X-Y mode" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="meter~">
			Visual peak level indicator
		</seealso>
		<seealso name="14_analysischapter02" module="msp" type="tutorial" />
	</seealsolist>
	<misc name="Output">
		<entry name="visual">
			<description>
				The waveform of the incoming signal is displayed within the oscilloscope display.
			</description>
		</entry>
	</misc>
</c74object>
