Rivendellaudio/docs/apis/catchd.xml
Fred Gleason 05ec302fc4 2022-10-31 Fred Gleason <fredg@paravelsystems.com>
* Removed vestigal support for the 'Reload Deck List' catch
	protocol command.
	* Removed vestigal support for the 'Reload Event List' catch
	protocol command.
	* Removed vestigal support for the 'Reload Event List' catch
	protocol command.
	* Removed vestigal support for the 'Reload Time Offset' catch
	protocol command.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2022-10-31 09:41:46 -04:00

237 lines
5.6 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<article xmlns="http://docbook.org/ns/docbook" version="5.0">
<info>
<title>Rivendell RDCatch Monitor Protocol</title>
<author>
<personname>
<firstname>Fred</firstname>
<surname>Gleason</surname>
<email>fredg@paravelsystems.com</email>
</personname>
</author>
</info>
<sect1 xml:id="overview">
<title>Overview</title>
<para>
This defines the IP protocol used for communication between different
modules of Rivendell and the
<command>rdcatchd</command><manvolnum>8</manvolnum> daemon.
</para>
<para>
Connection to ripcd is by means of a TCP SOCK_STREAM connection to TCP
port <userinput>6006</userinput>. The format of a message is as follows:
</para>
<para>
<replaceable>cmd-code</replaceable> [<replaceable>arg</replaceable>] [<replaceable>...</replaceable>]!
</para>
<variablelist>
<varlistentry>
<term>
<replaceable>cmd-code</replaceable>
</term>
<listitem>
<para>
A two letter command code, describing the generic action to be
performed
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<replaceable>arg</replaceable>
</term>
<listitem>
<para>
Zero or more arguments, delimited by spaces or, if the last
argument, by ! (see below)
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
!
</term>
<listitem>
<para>
The ASCII character 33, indicating the end of the command sequence.
</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 xml:id="sect.unprivileged_commands">
<title>Unprivileged Commands</title>
<para>
No authentication is required to execute these.
</para>
</sect1>
<sect1 xml:id="sect.privileged_commands">
<title>Privileged Commands</title>
<para>
A connection must be authenticated before these can be executed.
</para>
<sect2 xml:id="sect.privileged_commands.enable_metering">
<title>Enable Metering</title>
<para>
Enable/Disable Audio Metering
</para>
<para>
<userinput>RM <replaceable>state</replaceable>!</userinput>
</para>
<variablelist>
<varlistentry>
<term><replaceable>state</replaceable></term>
<listitem>
<para>
<computeroutput>1</computeroutput> = Enabled,
<computeroutput>0</computeroutput> = Disabled.
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
When metering is active, meter data packets will be periodically sent,
as follows:
</para>
<para>
<computeroutput>RM <replaceable>deck</replaceable>
<replaceable>chan</replaceable>
<replaceable>level</replaceable>!</computeroutput>
</para>
<variablelist>
<varlistentry>
<term><replaceable>deck</replaceable></term>
<listitem>
<para>
Deck number
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><replaceable>chan</replaceable></term>
<listitem>
<para>
Channel, <computeroutput>0</computeroutput> = Left,
<computeroutput>1</computeroutput> = Right
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><replaceable>level</replaceable></term>
<listitem>
<para>
Left audio level, in 1/100 of dbFS
</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 xml:id="sect.privileged_commands.stop_deck">
<title>Stop Deck</title>
<para>
Stop active event.
</para>
<para>
<userinput>SR <replaceable>deck-num</replaceable>!</userinput>
</para>
<variablelist>
<varlistentry>
<term><replaceable>deck-num</replaceable></term>
<listitem>
<para>
The number of the deck to stop.
</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 xml:id="sect.privileged_commands.reload_heartbeat_configuration">
<title>Reload Heartbeat Configuration</title>
<para>
Reload the heartbeat configuration from the database.
</para>
<para>
<userinput>RH!</userinput>
</para>
</sect2>
<sect2 xml:id="sect.privileged_commands.input_monitor_state">
<title>Input Monitor State</title>
<para>
Turn the input monitor on or off.
</para>
<para>
<userinput>MN <replaceable>deck-num</replaceable>
<replaceable>state</replaceable>!</userinput>
</para>
<variablelist>
<varlistentry>
<term><replaceable>deck-num</replaceable></term>
<listitem>
<para>
The number of the deck.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><replaceable>state</replaceable></term>
<listitem>
<para>
<computeroutput>1</computeroutput> = Enabled,
<computeroutput>0</computeroutput> = Disabled.
</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 xml:id="sect.privileged_commands.set_exit_code">
<title>Set Exit Code</title>
<para>
Set the exit code of an event.
</para>
<para>
<userinput>SC <replaceable>event-num</replaceable>
<replaceable>code</replaceable>
<replaceable>msg</replaceable>!</userinput>
</para>
<variablelist>
<varlistentry>
<term><replaceable>event-num</replaceable></term>
<listitem>
<para>
The number of the event.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><replaceable>code</replaceable></term>
<listitem>
<para>
The numeric code to set.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><replaceable>msg</replaceable></term>
<listitem>
<para>
The text message to set.
</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>
</article>