<?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="rnbo.remote" module="" category="">
	<digest>
		Communicate with a remote rnbo device
	</digest>
	<description>
		Remotely set and receive information on a Remote RNBO Device. This Information includes information and changes with parameters , messages, MIDI, external clock , and RNBO presets on the remote device.
	<br></br>
	<br></br>
	</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>
				Messages and MIDI input
			</digest>
			<description>
				The Message and Midi inlet on the <o>rnbo.remote</o> receive midi formatted messages and messages to set attributes of the exported rnbo code on the remote device.
			</description>
		</inlet>
		<inlet id="1" type="INLET_TYPE">
			<digest>
				Messages and MIDI bytes
			</digest>
			<description>
				The Message and Midi inlet on the <o>rnbo.remote</o> receive midi formatted messages and messages to set attributes of the exported rnbo code on the RNBO remote device. MIDI messages sent to the left
				inlet of the <o>rnbo.remote</o> are sent to <o>midiin</o> objects on the remote device. Messages can be set to named <o>inport</o> objects in the left inlet to target named <o>param</o> objects and attributes of the
				<o>rnbo.remote</o> object.
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="message">
			<digest>
				Outport messages
			</digest>
			<description>
				The leftmost outlet reports the state of outport objects exported rnbo code on the RNBO remote device. To report the state of the outport objects, reference the object by namespace using an object such as <o>route</o>.
			</description>
		</outlet>
		<outlet id="1" type="int">
			<digest>
				MIDI bytes
			</digest>
			<description>
				The middle outlet outputs the status of midiformatted messages that are sent to <o>midiout</o> objects in the exported RNBO code on the remote device.
			</description>
		</outlet>
		<outlet id="2" type="message">
			<digest>
				Status messages
			</digest>
			<description>
				The right outlet reports the status of the RNBO code on the remote device.
				<br>
				</br>
				<br>
			    </br>
				The "host names" message retrieves a list of discovered remote rnbo devices. This is essentially all of the RNBO Device names that appear on the shared networks address.
				<br>
				</br>
				<br>
			    </br>
				The "connectivity" message reveals the connectivity status between the Remote and the RNBO device. An output value of '1' means that the devices are connected for remote control and retrieval of information from the devicE, AND '0'means there are no connected devices.
				<br>
				</br>
				<br>
			    </br>
				The "instance_info" message retrieves and lists the values of the named parameters, inports, outports, and data references running on the RNBO device.
			</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="int">
			<arglist>
				<arg name="byte" type="int" optional="0"></arg>
			</arglist>
			<digest>
				Midi bytes
			</digest>
			<description>
				MIDI formatted messages sent to the left inlet of the <o>rnbo.remote</o> are sent to midiin objects on the remote device.
			</description>
		</method>
		<method name="message">
			<arglist>
				<arg name="message" type="list" optional="0"></arg>
			</arglist>
			<digest>
				Inport messages
			</digest>
			<description>
				To change the value of a named inport object , the word <m>message</m> is prepended to the inport @name, followed by a value.
				<br>
			</br>
				<m> message 'inport @name' $</m>
			</description>
		</method>
		<method name="status">
			<arglist></arglist>
			<digest>
			Status output triggering
			</digest>
			<description>
			From the rightmost outlet, the status of the RNBO code on the remote device is reported.
			<br>
			</br>
			<br>
			</br>
			The "host names" message retrieves a list of discovered remote rnbo devices. This is essentially all of the RNBO Device names that appear on the shared networks address.
			<br>
			</br>
			<br>
			</br>
			The "connectivity" message reveals the connectivity status between the Remote and the RNBO device. An output value of '1' means that the devices are connected for remote control and retrieval of information from the devicE, AND '0'means there are no connected devices.
			<br>
			</br>
			<br>
			</br>
			The "instance_info" message retrieves and lists the values of the named parameters, inports, outports, and data_refs
			</description>
		</method>
		<method name="patcherdestroy">
			<arglist>
				<arg name="patcherdestroy" type="symbol" optional="0"></arg>
			</arglist>
			<digest>
			Remove a patcher from the list of patches on the runner
			</digest>
			<description>
			Remove a named patcher that has been exported to the pi from the runner's cache.
			<br>
			</br>
			<br>
			</br>
			If an instance of the patcher is loaded when a "patcherdestroy" is set for it, the instance will remain loaded until a different patcher is loaded.
			</description>
		</method>
		<method name="preset">
			<arglist>
				<arg name="preset" type="list" optional="0"></arg>
			</arglist>
			<digest>
				Initialize, load, save, and delete presets.
			</digest>
			<description>
				Load, save, and delete presets on the RNBO device remotely.
				<br>
			   </br>
			   <br>
			   </br>
				To load a preset from the RNBO devices preset index, append the preset message with the <m>load </m> argument, followed by the name of the preset so that it looks like this : <m>preset load $1 </m>.
				<br>
			   </br>
			   <br>
			   </br>
				To save a preset from the RNBO devices preset index,  append the preset message with the <m>save</m>argument, followed by the name of the preset  so that it looks like this : <m>preset save $1</m>.
				<br>
			   </br>
			   <br>
			   </br>
				To delete a preset from the RNBO devices preset index,  append the preset message with the <m>delete</m> argument, followed by the name of the preset  so that it looks like this : <m>preset delete $1</m>.
				<br>
			   </br>
			   <br>
			   </br>
				To set a preset to load first when the device intially boots, append the preset message with the <m>initial</m> argument,followed by the name of the preset so that it looks like this : <m>preset initial $1 </m>. If this is not set, then by default, the first preset saved to the rnbo.device will load on reboot.
		       <br>
			   </br>
			   <br>
			   </br>
			</description>
		</method>
	</methodlist>
	<!--ATTRIBUTES-->
	<attributelist>
		<attribute name="addr" get="1" set="1" type="symbol" size="1">
			<digest>
				The address of the host to communicate with
			</digest>
			<description>
				Setting the address of the device host running the RNBO code will point the <o>rnbo.remote</o> device to communicate with that device. The address is the IPV4 address of the RNBO remote device.
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="The address of the host to communicate with"></attribute>
			</attributelist>
		</attribute>
		<attribute name="fdbkdel" get="1" set="1" type="float" size="1">
			<digest>
				The number of milliseconds to ignore incoming parameter updates after a local update for feedback suppression.
			</digest>
			<description>
				The number of milliseconds to ignore incoming parameter updates after a local update for feedback suppression.
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="The number of milliseconds to ignore incoming parmater updates after a local update for feedback suppression"></attribute>
			</attributelist>
		</attribute>
		<attribute name="inst" get="1" set="1" type="int" size="1">
			<digest>
				The numbered instance of the patcher to load and communicate with.
			</digest>
			<description>
				The numbered instance of the patcher to load and communicate with. This is associated alpabetically with the patchername that has been exported to your Pi (f.e. if you have two patches on your pi,<m>@inst 0</m> will reference <m>@patchername delay</m> and<m>@inst 1</m> will reference <m>@patchername reverb</m>).
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="The numbered instance of the patcher to load and communicate with"></attribute>
			</attributelist>
		</attribute>
		<attribute name="name" get="1" set="1" type="symbol" size="1">
			<digest>
				The name of the host to communicate with.
			</digest>
			<description>
				The name of the RNBO device host to communicate with. This is the name set for your RNBO device determined in the configuration settings at the time of export.
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="The name of the host to communicate with"></attribute>
			</attributelist>
		</attribute>
		<attribute name="patchername" get="1" set="1" type="symbol" size="1">
			<digest>
				The name of the patcher to load and communicate with.
			</digest>
			<description>
				The name of the patcher to load and communicate with. This is the name set for your patcher determined under Patch Name in the target sidebar at the the time of export.
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="TThe name of the patcher to load and communicate with"></attribute>
			</attributelist>
		</attribute>
		<attribute name="port" get="1" set="1" type="int" size="1">
			<digest>
				The port on the host to communicate on
			</digest>
			<description>
				Communicate on a specific port of the RNBO device shared IPv4 network. This can be specifically useful for instances where you would like to utilize port forwarding for the <o>rnbo.remote</o>'s communication.
				Provided that both the RNBO device and the remote are connected to the same network, setting the port will allow messaging to be forwarded specifically to that port. The default port is <m>5678</m>.
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="The port on the host to communicate on"></attribute>
			</attributelist>
		</attribute>
		<attribute name="presets/midichannel" get="1" set="1" type="symbol" size="1">
			<digest>
				The MIDI channel to use for changing presets via MIDI Program messages.
			</digest>
			<description>
			    Use MIDI channels for changing RNBO presets via MIDI program messages. This is helpful for setting presets from MIDI hardware connected to the RNBO device.
				The MIDI program number will load the preset by it's number represented in the preset index.
			<br>
			</br>
			<br>
			</br>
				By default, this setting is set to <m>omni</m>, which allows any midichannel to set program changes to the rnbo devices presets
			<br>
			</br>
			<br>
			</br>
				Setting a integer value between <m>1</m>and<m>16</m> will allow programs from a specific Midi channel, f.e. <m>presets/midichannel 1</m> will only allow program changes via MIDI channel<m>1</m>.
            <br>
			</br>
			<br>
			</br>
				Setting <m>presets/midichannel none</m>will not allow program changes to be made to any MIDI channels.
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="The MIDI channel to use for changing presets via program messages."></attribute>
			</attributelist>
		</attribute>
		<attribute name="transport/bpm" get="1" set="1" type="float" size="1">
			<digest>
				Remote control and visualization of the transport tempo (beats per minute)
			</digest>
			<description>
				Remote control the transport tempo (beats per minute) of the RNBO code running locally on the RNBO remote device.
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Remote control and visualization of the transport tempo (beats per minute)"></attribute>
			</attributelist>
		</attribute>
		<attribute name="transport/rolling" get="1" set="1" type="int" size="1">
			<digest>
			 	Enable to allow the <o>rnbo.remote</o> to control the rnbo.devices local transport tempo.
			</digest>
			<description>
				 The RNBO code running on the remote device has it's own transport tempo. Enabling <m>transport/rolling</m> allows us the ability to remotely control and visualize the transport tempo running on the RNBO runner from the <o>rnbo.remote</o> object.
			</description>
			<attributelist>
				<attribute name="default" get="1" set="1" type="symbol" size="1" value="0"></attribute>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Transport Rolling"></attribute>
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff"></attribute>
			</attributelist>
		</attribute>
	</attributelist>
	
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="rnbo~">
			rnbo~
		</seealso>
	</seealsolist>
	<misc name="Outlets">
		<entry name="Outport Messages">
			<description>
			The left outlet reports the state of outport objects exported rnbo code on the RNBO remote device. To report the state of the outport objects, reference the object by namespace using an object such as route.
			</description>
		</entry>
		<entry name="Midi Bytes">
			<description>
			The middle outlet outputs the status of midiformatted messages that are sent to midiout objects in the exported RNBO code on the remote device.
			</description>
			</entry>
		<entry name="Status Info">
			<description>
			The right outlet reports the status of the RNBO code on the remote device.
			<br>
			</br>
			<br>
			</br>
			The "host names" message retrieves a list of discovered remote rnbo devices. This is essentially all of the RNBO Device names that appear on the shared networks address.
			<br>
			</br>
			<br>
			</br>
			The "connectivity" message reveals the connectivity status between the Remote and the RNBO device. An output value of '1' means that the devices are connected for remote control and retrieval of information from the device, and '0'means there are no connected devices.
			<br>
			</br>
			<br>
			</br>
			The "instance_info" message retrieves and lists the values of the named parameters, inports, outports, and data_refs
			</description>
		</entry>
	</misc>
</c74object>
