<?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="jit.qball" module="jit" category="Jitter Utilities">
	<digest>
		Convert messages at scheduler time to low priority
	</digest>
	<description>
		The <o>jit.qball</o> object places all messages received at scheduler time in the low priority queue, even if overdrive is turned off.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			Jitter
		</metadata>
		<metadata name="tag">
			Jitter Utilities
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="INLET_TYPE">
			<digest>
				input
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="INLET_TYPE">
			<digest>
				input
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="OUTLET_TYPE">
			<digest>
				output
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="1" type="OUTLET_TYPE">
			<digest>
				dumpout
			</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>
				Place a bang in the low priority queue.
			</digest>
			<description>
				Any bang received at scheduler time will be placed in the low priority queue. When the low priority queue services this message, it will be sent out the left outlet. If the message received is being sent from the low priority queue it is immediately sent out the leftmost outlet.
				<p>
					If <at>mode</at>= <m>usurp</m>, and the low priority queue has not yet serviced the last received message, it will be replaced by the most recently received message.
				</p>
				<p>
					If <at>mode</at>= <m>defer</m>, then the most recently received message will be placed in the low priority queue without affecting previously received messages.
				</p>
			</description>
		</method>
		<method name="int">
			<arglist />
			<digest>
				Place any number in the low priority queue.
			</digest>
			<description>
				Any number received at scheduler time will be placed in the low priority queue. When the low priority queue services this message, it will be sent out the left outlet. If the number received is being sent from the low priority queue it is immediately sent out the leftmost outlet.
				<p>
					If <at>mode</at>= <m>usurp</m>, and the low priority queue has not yet serviced the last received message, it will be replaced by the most recently received message.
				</p>
				<p>
					If <at>mode</at>= <m>defer</m>, then the most recently received message will be placed in the low priority queue without affecting previously received messages.
				</p>
			</description>
		</method>
		<method name="float">
			<arglist />
			<digest>
				Place any number in the low priority queue.
			</digest>
			<description>
				Any number received at scheduler time will be placed in the low priority queue. When the low priority queue services this message, it will be sent out the left outlet. If the message received is being sent from the low priority queue it is immediately sent out the leftmost outlet.
				<p>
					If <at>mode</at>= <m>usurp</m>, and the low priority queue has not yet serviced the last received message, it will be replaced by the most recently received message.
				</p>
				<p>
					If <at>mode</at>= <m>defer</m>, then the most recently received message will be placed in the low priority queue without affecting previously received messages.
				</p>
			</description>
		</method>
		<method name="list">
			<arglist />
			<digest>
				Place any list in the low priority queue.
			</digest>
			<description>
				Any list received at scheduler time will be placed in the low priority queue. When the low priority queue services this message, it will be sent out the left outlet. If the message received is being sent from the low priority queue it is immediately sent out the leftmost outlet.
				<p>
					If <at>mode</at>= <m>usurp</m>, and the low priority queue has not yet serviced the last received message, it will be replaced by the most recently received message.
				</p>
				<p>
					If <at>mode</at>= <m>defer</m>, then the most recently received message will be placed in the low priority queue without affecting previously received messages.
				</p>
			</description>
		</method>
		<method name="anything">
			<arglist />
			<digest>
				Place any message in the low priority queue.
			</digest>
			<description>
				Any message received at scheduler time will be placed in the low priority queue. When the low priority queue services this message, it will be sent out the left outlet. If the message received is being sent from the low priority queue it is immediately sent out the leftmost outlet.
				<p>
					If <at>mode</at>= <m>usurp</m>, and the low priority queue has not yet serviced the last received message, it will be replaced by the most recently received message.
				</p>
				<p>
					If <at>mode</at>= <m>defer</m>, then the most recently received message will be placed in the low priority queue without affecting previously received messages.
				</p>
			</description>
		</method>
		<method name="defer">
			<arglist />
			<digest>
				For internal use only
			</digest>
			<description>
				For internal use only.
			</description>
		</method>
		<method name="usurp">
			<arglist />
			<digest>
				For internal use only
			</digest>
			<description>
				For internal use only.
			</description>
		</method>
	</methodlist>
	<jittermethodlist>
		<jittermethod name="getattributes" />
	</jittermethodlist>
	<!--ATTRIBUTES-->
	<attributelist>
		<attribute name="mode" get="1" set="1" type="symbol" size="1">
			<digest>
				Message handling mode
			</digest>
			<description>
				The means of handling multiple messages prior to being serviced by the low priority queue (default = usurp)
				<br />
				<m>usurp</m>= multiple messages replace one another;
				<br />
				<m>defer</m>= multiple messages accumulate;
			</description>
		</attribute>
	</attributelist>
	<jitterattributelist />
	<!--EXAMPLE-->
	<examplelist>
		<example img="jit.qball.png" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="jit.qfaker" />
		<seealso module="jit" name="jitterchapter16" type="tutorial" />
	</seealsolist>
	<discussion>
		This is useful for event synchronization and/or graceful data rate reduction (e.g. drop video frames, or drawing commands in the event that they may not be rendered as fast as requested).
	</discussion>
</c74object>
