<?xml version="1.0" encoding="utf-8"?>
<chapter xmlns="http://docbook.org/ns/docbook"  xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="chapter.rdadmin">
  <title>Configuring Rivendell with RDAdmin</title>
  <sect1 xml:id="sect.rdadmin.overview">
    <title>Overview</title>
    <para>
      RDAdmin is the Rivendell module designed for the comprehensive
      configuration of the Rivendell system.
    </para>
    <para>
      <mediaobject>
	<imageobject>
	  <imagedata align="center" fileref="rdadmin.rdadmin_screenshot.png" scale="45"/>
	</imageobject>
	<caption>
	  <para>The RDAdmin Main Window</para>
	</caption>
      </mediaobject>
    </para>
    <para>
      When starting up RDAdmin, you will be prompted to login in. For a
      freshly created Rivendell database, the default login parameters are
      a <computeroutput>User Name:</computeroutput> of
      <userinput>admin</userinput> with no
      <computeroutput>Password:</computeroutput>.
    </para>
    <para>
      <mediaobject>
	<imageobject>
	  <imagedata align="center" fileref="rdadmin.login_dialog.png" scale="45"/>
	</imageobject>
	<caption>
	  <para>The Login Dialog</para>
	</caption>
      </mediaobject>
    </para>
  </sect1>
  <sect1 xml:id="sect.rdadmin.managing_users">
    <title>Managing Users</title>
    <para>
      To manage users in RDAdmin, touch the
      <computeroutput>Manage Users</computeroutput> to open the
      Rivendell User List dialog.
    </para>
    <para>
      <mediaobject>
	<imageobject>
	  <imagedata align="center" fileref="rdadmin.rivendell_user_list_dialog.png" scale="45"/>
	</imageobject>
	<caption>
	  <para>The Rivendell User List Dialog</para>
	</caption>
      </mediaobject>
    </para>
    <para>
      Two different types of user exist within Rivendell: 
      <emphasis>administrator</emphasis> users (those which have the
      <computeroutput>Administer System</computeroutput> right set), who
      are allowed to log into RDAdmin, and
      <emphasis>operational</emphasis> users, who are configured to have
      rights to operate specific portions of the Rivendell system but do
      not have access to RDAdmin. It is not possible for a single user to
      act in both roles.
    </para>
    <para>
      A newly created Rivendell database will have one user of each type
      populated automatically, called &quot;admin&quot; and
      &quot;user&quot; respectively. To see the attributes of an existing
      user, select its entry on the <computeroutput>Users</computeroutput>
      list and touch the <computeroutput>Edit</computeroutput> button to
      open the User Dialog.
    </para>
    <para>
      <mediaobject>
	<imageobject>
	  <imagedata align="center" fileref="rdadmin.user_dialog.png" scale="45"/>
	</imageobject>
	<caption>
	  <para>The Rivendell User Dialog</para>
	</caption>
      </mediaobject>
    </para>
    <para>
      The upper third of the dialog provides fields for basic information
      regarding the user as well as authentication settings. If the
      <computeroutput>Authenticate This User Locally</computeroutput> box
      is ticked, then the login password for this user can be set by touching
      the <computeroutput>Change Password</computeroutput> button. If
      unticked, then authentication is delegated to the Pluggable
      Authentication Module (PAM) specified in the
      <computeroutput>PAM Service:</computeroutput> field.
    </para>
    <para>
      The <computeroutput>WebAPI Timeout:</computeroutput> field sets the
      timeout (in seconds) when connecting to Rivendell's WebAPI
      component, while the <computeroutput>Allow Web Logins</computeroutput>
      box, if ticked, permits this user to use the web component of
      RDCastManager.
    </para>
    <para>
      The middle section of the dialog is where individual user rights
      are assigned for this user. The
      <computeroutput>Administer System</computeroutput> box, if ticked,
      will make this user an administrative user while disallowing the
      selection of any other rights. The other listed rights should be
      self-explanatory.
    </para>
    <para>
      The bottom of the dialog contains three large buttons. The
      <computeroutput>Assign Group Permissions</computeroutput> button
      allows assignment of the specific groups which this user will be
      allowed to access in RDLibrary, 
      the <computeroutput>Service Permissions</computeroutput> allows
      assignment of the services which this user will be allowed to
      access in RDLogEdit and the
      <computeroutput>Assign Podcast Feed Permissions</computeroutput>
      allows the assignment of the podcast feeds which this user will
      be allowed to manage in RDCastManager.
    </para>
    <para>
      Touch the <computeroutput>OK</computeroutput> button to commit any
      changes made, or <computeroutput>Cancel</computeroutput> to
      abandon them.
    </para>
  </sect1>
  <sect1 xml:id="sect.rdadmin.manage_groups">
    <title>Managing Groups</title>
    <para>
      To manage groups in RDAdmin, touch the
      <computeroutput>Manage Groups</computeroutput> button to open
      the Rivendell Group List dialog.
    </para>
    <para>
      <mediaobject>
	<imageobject>
	  <imagedata align="center" fileref="rdadmin.rivendell_group_list_dialog.png" scale="45"/>
	</imageobject>
	<caption>
	  <para>The Rivendell Group List Dialog</para>
	</caption>
      </mediaobject>
    </para>
    <sect2 xml:id="sect.rdadmin.manage_groups.editing_group_information">
      <title>Editing Group Information</title>
      <para>
	To examine and modify an existing group, touch its entry in the
	<computeroutput>Groups</computeroutput> list and then touch the
	<computeroutput>Edit</computeroutput> button to open the
	Group Dialog.
      </para>
      <para>
	<mediaobject>
	  <imageobject>
	    <imagedata align="center" fileref="rdadmin.group_dialog.png" scale="45"/>
	  </imageobject>
	  <caption>
	    <para>The Rivendell Group Dialog</para>
	  </caption>
	</mediaobject>
      </para>
      <para>
	The <computeroutput>Default Import Title</computeroutput> is the
	title string that will be assigned to carts created by dropboxes or
	<command>rdimport</command><manvolnum>1</manvolnum> when no 
	file-specific title metadata is found. This field recognizes
	the following wildcards:
      </para>
      <table xml:id="table.rdadmin.default_import_title_wildcards" frame="all" pgwide="0">
	<title>Default Import Title Wildcards</title>
	<tgroup cols="2" align="left" colsep="1" rowsep="1">
	  <colspec colname="Wildcard" colwidth="1.0*"/>
	  <colspec colname="Value" colwidth="10.0*"/>
	  <tbody>
	    <row><entry>%f</entry><entry>Body part of the filename</entry></row>
	    <row><entry>%e</entry><entry>Extension part of the filename</entry></row>
	  </tbody>
	</tgroup>
      </table>
      <para>
	The <computeroutput>Default Cart Type:</computeroutput> controls
	which type of cart (<computeroutput>Audio</computeroutput> or
	<computeroutput>Macro</computeroutput> RDLibrary will default to
	when creating a new cart in this group.
      </para>
      <para>
	The <computeroutput>Default Cart Number:</computeroutput> fields
	define a range of cart numbers to use by default for this group
	--i.e. by RDLibrary or
	<command>rdimport</command><manvolnum>1</manvolnum>. If the
	<computeroutput>Enforce Cart Range</computeroutput> box is ticked,
	Rivendell will not permit carts to be created in or moved to this
	group whose cart number does not fall within this range.
      </para>
      <para>
	If the 
	<computeroutput>Include this group in Traffic reports</computeroutput> or
	<computeroutput>Include this group in Music reports</computeroutput> box
	is ticked, play-outs of carts belonging to this group in a log will
	be included in traffic or music reports, respectively.
      </para>
      <para>
	If this <computeroutput>Set End Date/Time</computeroutput> box is ticked,
	then new cuts that belong to this group will have their end date/time
	automatically set to the specified number of days after the date of
	creation.
      </para>
      <para>
	If the <computeroutput>Purge expired cuts</computeroutput> box is
	ticked, then cuts in the group will be purged --i.e. deleted --
	the specified number of days after they expire. If
	<computeroutput>Delete cart if empty</computeroutput> is also ticked,
	then the cart containing the deleted cut will also be deleted if it
	contains no other cuts.
      </para>
      <para>
	If the <computeroutput>Transmit Now &apos; Next</computeroutput> box
	is ticked, then carts in this group will generate an RLM event when
	played in a log.
      </para>
      <para>
	Carts in this group will be allowed to play only on those services
	that are shown in the <computeroutput>Active Services</computeroutput>
	list.
      </para>
      <para>
	To set a color for the group (used when the group name is displayed
	elsewhere in Rivendell, touch the <computeroutput>Color</computeroutput>
	button.
      </para>
      <para>
	Touch the <computeroutput>OK</computeroutput> button to commit any
	changes made, or <computeroutput>Cancel</computeroutput> to
	abandon them.
      </para>
    </sect2>
    <sect2 xml:id="rdadmin.manage_groups.renaming_groups">
      <title>Renaming Groups</title>
      <para>
	A group can be renamed by touching the
	<computeroutput>Rename</computeroutput> button. If the
	<computeroutput>New Group Name:</computeroutput> given already exists,
	then the carts in this group will be moved into that group.
      </para>
      <para>
	<mediaobject>
	  <imageobject>
	    <imagedata align="center" fileref="rdadmin.rename_group_dialog.png" scale="60"/>
	  </imageobject>
	  <caption>
	    <para>The Rename Group Dialog</para>
	  </caption>
	</mediaobject>
      </para>
    </sect2>
    <sect2 xml:id="rdadmin.manage_groups.group_reports">
      <title>Group Report</title>
      <para>
	A printable report listing the defined groups and their attributes
	can be generated by touching the
	<computeroutput>Generate Report</computeroutput> button.
      </para>
    </sect2>
  </sect1>
  <sect1 xml:id="sect.rdadmin.manage_services">
    <title>Managing Services</title>
    <para>
      To manage services in RDAdmin, touch the
      <computeroutput>Manage Services</computeroutput> button to open
      the Rivendell Services dialog.
    </para>
    <para>
      <mediaobject>
	<imageobject>
	  <imagedata align="center" fileref="rdadmin.services_dialog.png" scale="45"/>
	</imageobject>
	<caption>
	  <para>The Rivendell Services Dialog</para>
	</caption>
      </mediaobject>
    </para>
    <para>
      To examine and modify an existing service, touch its entry in the
      <computeroutput>Services</computeroutput> list and then touch the
      <computeroutput>Edit</computeroutput> button to open the
      Edit Service Dialog.
    </para>
    <para>
      <mediaobject>
	<imageobject>
	  <imagedata align="center" fileref="rdadmin.edit_service_dialog.png" scale="45"/>
	</imageobject>
	<caption>
	  <para>The Edit Service Dialog</para>
	</caption>
      </mediaobject>
    </para>
    <sect2 xml:id="sect.rdadmin.manage_services.general">
      <title>The <computeroutput>General</computeroutput> Section</title>
      <para>
	The <computeroutput>Service Name</computeroutput> field contains
	the name of the service (read-only). This value is available in
	<link linkend="sect.filepath_wildcards.definition">
	filepath wildcards</link> as <userinput>%s</userinput>.
      </para>
      <para>
	The <computeroutput>Service Description</computeroutput> field is
	for a free-form string that describes the service.
      </para>
      <para>
	The <computeroutput>Program Code</computeroutput> is a string that
	is sent to RLM plug-ins as part of every Now &amp; Next update.
      </para>
      <para>
	The <computeroutput>Log Name Template</computeroutput> field is
	a string that defines how logs will be named when generated by
	RDLogManager. This field can take
	<link linkend="sect.filepath_wildcards.definition">
	filepath wildcards</link>.
      </para>
      <para>
	The <computeroutput>Log Description Template</computeroutput> field
	is a string that defines how the
	<computeroutput>Description</computeroutput> for each log will be
	formatted for logs generated by RDLogManager. This field can take
	<link linkend="sect.filepath_wildcards.definition">
	filepath wildcards</link>.
      </para>
      <para>
	The <computeroutput>Voicetrack Group</computeroutput> dropdown
	specifies the Rivendell group to be used for storing voicetracks
	for this service.
      </para>
      <para>
	<!--
	    FIXME: Document AutoSpot!
	-->
	The <computeroutput>AutoSpot Group</computeroutput> dropdown
	specifies the Rivendell group to be used for storing carts used
	for the AutoSpot functionality.
      </para>
      <para>
	The <computeroutput>Insert CHAIN TO at log end</computeroutput>,
	if ticked, will cause a CHAIN-TO event to the following day's log
	to be appended to the log when generated by RDLogManager.
      </para>
      <para>
	The <computeroutput>Enable AutoRefresh By Default</computeroutput>
	box, if ticked, will cause the log's
	<computeroutput>Enable AutoRefresh</computeroutput> attribute to
	be set to <computeroutput>Yes</computeroutput> when generated
	by RDLogManager.
      </para>
      <para>
	The <computeroutput>Purge Logs after</computeroutput> box,
	if ticked, will set the deletion date for logs to be the
	specified number of days after being created by RDLogManager.
      </para>
      <para>
	The <computeroutput>Purge ELR Data after</computeroutput>
	box, if ticked, will cause Electronic Log Reconiliation (ELR)
	as-played data to be purged from the database the specified number
	of days after being generated.
      </para>
      <para>
	The <computeroutput>Include Import Markers in Finished Logs</computeroutput>
	box, if ticked, will cause markers to indicate the base location
	of imported Music and Traffic events to be retained even after
	such events have been imported. Some users find these markers
	distracting, so their retention can be disabled by clearing this
	check box.
      </para>
      <warning>
	If import markers are not included in finished logs, then it will
	not be possible re-import music or traffic data into those logs.
      </warning>
      <sect3 xml:id="sect.rdadmin.manage_services.general.configure_autofill_carts">
	<title>Configuring Autofill Carts</title>
	<para>
	  The <computeroutput>Configure Autofill Carts</computeroutput>
	  button will bring up the Autofill Carts dialog>
	</para>
	<para>
	  <mediaobject>
	    <imageobject>
	      <imagedata align="center" fileref="rdadmin.autofill_carts_dialog.png" scale="45"/>
	    </imageobject>
	    <caption>
	      <para>The Autofill Carts Dialog</para>
	    </caption>
	  </mediaobject>
	</para>
	<para>
	  Carts listed in this dialog will be considered for inclusion
	  in an event by RDLogManager when the event's
	  <computeroutput>Use Autofill</computeroutput> box is ticked.
	  When filling a gap, RDLogManager will recursively scan the list
	  of available carts, working from the longest to shortest, and
	  insert the longest cart that will fit. The process will stop when
	  either the available gap has been completely filled or no cart
	  short enough to fit has been found.
	</para>
      </sect3>
      <sect3 xml:id="sect.rdadmin.manage_services.general.enabling_hosts_for_service_playout">
	<title>Enabling Hosts for Service Playout</title>
	<para>
	  The <computeroutput>Enable Hosts</computeroutput> button will bring
	  up the Hosts dialog, where the hosts for which this service is
	  allowed to be played can be defined
	</para>
	<para>
	  <mediaobject>
	    <imageobject>
	      <imagedata align="center" fileref="rdadmin.hosts_dialog.png" scale="45"/>
	    </imageobject>
	    <caption>
	      <para>The Hosts Dialog</para>
	    </caption>
	  </mediaobject>
	</para>
      </sect3>
    </sect2>
    <sect2 xml:id="sect.rdadmin.manage_services.traffic_music_data_importation_settings">
      <title>Traffic/Music Data Importation Settings</title>
      <para>
	With the exception of one field
	(<computeroutput>Insert Traffic Break String</computeroutput>),
	the <computeroutput>Traffic Data Import</computeroutput> and
	<computeroutput>Music Data Import</computeroutput> sections are
	identical. Thus, only the
	<computeroutput>Music Data Import</computeroutput> section will be
	described here.
      </para>
      <para>
	The upper part of the section consists of string fields and a dropdown
	box.
      </para>
      <para>
	<mediaobject>
	  <imageobject>
	    <imagedata align="center" fileref="rdadmin.log_importation_string_fields.png" scale="45"/>
	  </imageobject>
	  <caption>
	    <para>Log Importation String Fields</para>
	  </caption>
	</mediaobject>
      </para>
      <para>
	The <computeroutput>Linux Import Path</computeroutput> field takes
	the fully-qualified path to the file to be used for import events
	by RDLogManager when run on Linux. This field can take
	<link linkend="sect.filepath_wildcards.definition">
	filepath wildcards</link>.
      </para>
      <para>
	The <computeroutput>Linux Preimport Command</computeroutput> field
	takes the fully-qualified path to the command to be run before
	attempting to import the file specified in
	<computeroutput>Linux Import Path</computeroutput>. This field can take
	<link linkend="sect.filepath_wildcards.definition">
	filepath wildcards</link>.
      </para>
      <para>
	The <computeroutput>Windows Import Path</computeroutput> field takes
	the fully-qualified path to the file to be used for import events
	by RDLogManager when run on Windows. This field can take
	<link linkend="sect.filepath_wildcards.definition">
	filepath wildcards</link>.
      </para>
      <para>
	The <computeroutput>Windows Preimport Command</computeroutput> field
	takes the fully-qualified path to the command to be run before
	attempting to import the file specified in
	<computeroutput>Windows Import Path</computeroutput>. This field
	can take <link linkend="sect.filepath_wildcards.definition">
	filepath wildcards</link>.
      </para>
      <para>
	The <computeroutput>Note Cart String</computeroutput> field can
	be used	to configure placement of a marker event in the generated log.
	When the string set here is found in the 'cart' field in a line
	of the specified import file, RDLogManager will insert a marker
	event, the text of which will be the 'title' field from that same
	line.
      </para>
      <para>
	The <computeroutput>Insert Voice Track String</computeroutput>
	field can be used to configure placement of a voice track marker
	in the generated log. When the string set here is found in the
	'cart' field in a line of the specified import file, RDLogManager
	will insert a voice track event, the text of which will be the
	'title' field from that same line.
      </para>
      <para>
	The <computeroutput>Insert Traffic Break String</computeroutput>
	field can be used to configuration placement of a traffic break
	from an entry in the music import log. When the string set here is
	found in the cart field. RDLogManager will insert a traffic import
	event, using the event specified in the
	<computeroutput>Import inline traffic</computeroutput> dropdown box
	in the relevant music event.
      </para>
      <note>
	<para>
	  This field is available only in the
	  <computeroutput>Music Data Import</computeroutput> section!
	</para>
      </note>
    </sect2>
    <sect2 xml:id="sect.rdadmin.manage_services.traffic_music_import_parser_settings">
      <title>Traffic/Music Import Parser Settings</title>
      <para>
	<mediaobject>
	  <imageobject>
	    <imagedata align="center" fileref="rdadmin.import_parser_fields.png" scale="60"/>
	  </imageobject>
	  <caption>
	    <para>The Log Parser Settings</para>
	  </caption>
	</mediaobject>
      </para>
      <para>
	Rivendell includes the ability to import log schedule files from
	a variety of third-party scheduling utilities. To configure an import
	from one of these systems, all that is necessary is to select the
	appropriate system in the
	<computeroutput>Import Template</computeroutput> dropdown. If the
	target scheduler system is not on this list, a custom parser can
	be defined by selecting <computeroutput>[custom]</computeroutput>
	from the dropdown.
      </para>
      <para>
	Log schedule files for Rivendell are assumed to be in so-called
	&quot;column-aligned&quot; format --i.e. each record occupies a single
	line in a text file that is terminated by a single linefeed or a
	carriage return, with each field occupying
	a fixed	column position on the line. Each field takes two values:
	<computeroutput>Offset:</computeroutput>, which is the starting
	position of the field (starting from 0) on the line and
	<computeroutput>Length:</computeroutput>, which is the number of
	characters reserved for the field. Setting the
	<computeroutput>Length:</computeroutput> value for field to
	<userinput>0</userinput> disables the use of that field.
      </para>
      <para>
	Most of the fields should be self-explanatory, but a few call for
	some comment:
      </para>
      <variablelist>
	<varlistentry>
	  <term><computeroutput>Globally Unique ID</computeroutput></term>
	  <listitem>
	    <para>
	      Many schedulers provide
	      an opaque string with each scheduling record which they
	      expect to be returned as part of the corresponding Electronic
	      Log Reconciliation (ELR) feed back to the system. This field
	      indicates where this &quot;GUID&quot; string should be found.
	    </para>
	  </listitem>
	</varlistentry>
	<varlistentry>
	  <term><computeroutput>Event ID:</computeroutput> /
	  <computeroutput>Annc. Type</computeroutput></term>
	  <listitem>
	    <para>
	      Additional fields for GUID data. As of this writing, only
	      scheduler products from Marketron require the use of these
	      fields.
	    </para>
	  </listitem>
	</varlistentry>
      </variablelist>
    </sect2>
    <sect2 xml:id="sect.rdadmin.manage_services.testing_data_importation">
      <title>Testing Data Importation</title>
      <para>
	Once the parameters have been configured, they can be tested
	with a sample import file by touching the
	<computeroutput>Test Music</computeroutput> or
	<computeroutput>Test Music</computeroutput> buttons to bring up
	the Test Import dialog.
      </para>
      <para>
	<mediaobject>
	  <imageobject>
	    <imagedata align="center" fileref="rdadmin.test_import_dialog.png" scale="60"/>
	  </imageobject>
	  <caption>
	    <para>The Test Import Dialog</para>
	  </caption>
	</mediaobject>
      </para>
      <para>
	Select the date for the import to test, either by entering it in
	the <computeroutput>Test Date:</computeroutput> control or by
	touching the <computeroutput>Select</computeroutput> button. Then,
	touch the <computeroutput>Import</computeroutput> button. The import
	events for the day should appear in the
	<computeroutput>Imported Events</computeroutput> list.
      </para>
    </sect2>
  </sect1>
  <sect1 xml:id="sect.rdadmin.manage_hosts">
    <title>Managing Hosts</title>
    <para>
      To manage hosts in RDAdmin, touch the
      <computeroutput>Manage Hosts</computeroutput> button to open
      the Rivendell Host List dialog.
    </para>
    <para>
      <mediaobject>
	<imageobject>
	  <imagedata align="center" fileref="rdadmin.rivendell_host_list_dialog.png" scale="60"/>
	</imageobject>
	<caption>
	  <para>The Rivendell Host List Dialog</para>
	</caption>
      </mediaobject>
    </para>
    <para>
      To examine and modify an existing host, touch its entry in the
      <computeroutput>Hosts</computeroutput> list and then touch the
      <computeroutput>Edit</computeroutput> button to open the
      Host Dialog.
    </para>
    <para>
      <mediaobject>
	<imageobject>
	  <imagedata align="center" fileref="rdadmin.host_dialog.png" scale="50"/>
	</imageobject>
	<caption>
	  <para>The Host Dialog</para>
	</caption>
      </mediaobject>
    </para>
    <note>
      <para>
	After changing the configuration of a Rivendell module, it is
	generally necessary to restart that module for the changes to
	take effect!
      </para>
    </note>
    <para>
      The dialog is divided into roughly two parts: the upper half, which
      contains settings that pertain to the selected host overall, and the
      lower half, which contains buttons that access settings specific to
      a particular Rivendell module or subsystem.
    </para>
    <para>
      The <computeroutput>Host Name:</computeroutput> (read-only),
      <computeroutput>Short Name:</computeroutput> and
      <computeroutput>Description:</computeroutput> fields are for
      text strings. The value of these fields is accessible using
      <link linkend="appendix.filepath_wildcards">filepath wildcards</link>.
    </para>
    <para>
      The <computeroutput>Default User</computeroutput> sets the value of
      the Rivendell user that will be logged in by default --i.e. when
      the system is restarted or the
      <computeroutput>Default User</computeroutput> button is touch in
      rdlogin(1).
    </para>
    <para>
      The <computeroutput>IP Address:</computeroutput> field should contain
      the IPv4 address of the host. For multi-homed systems, an address that
      is reachable from all other Rivendell hosts should be specified. If
      this host is the sole host in the Rivendell database, then it is
      acceptable to specify the loopback address
      (<userinput>127.0.0.1</userinput>) here.
    </para>
    <para>
      The <computeroutput>Audio Editor:</computeroutput> can be used to
      specify an external audio editor for use by rdlibrary(1). If desired,
      the value should consist of the command invocation needed to start
      the edit, with a <userinput>%f</userinput> wildcard to indicate the
      name of the file to open.
    </para>
    <para>
      The <computeroutput>Report Editor:</computeroutput> can be used to
      specify an external text editor to be used to display reports.
      If desired, the value should consist of the command invocation
      needed to start the editor.
    </para>
    <note>
      If left blank, the system will use the
      <command>vi</command><manvolnum>1</manvolnum> editor running in an
      <command>xterm</command><manvolnum>1</manvolnum> window
      --i.e. <code>xterm -e vi</code>.
    </note>
    <para>
      The <computeroutput>Time Offset:</computeroutput> field can be used
      to specify a static time offset in milliseconds to by applied to
      events in rdcatch(1).
    </para>
    <para>
      The <computeroutput>Startup Cart:</computeroutput> field takes the
      number of a macro cart to be executed each time the Rivendell system
      is restarted. This can be useful for initializing state --e.g. JACK
      routes, etc.
    </para>
    <para>
      The <computeroutput>Cue Output</computeroutput> controls specify the
      audio output to be used for off-line &quot;audition&quot; uses. The
      <computeroutput>Start Cart:</computeroutput> and
      <computeroutput>Stop Cart:</computeroutput> fields take the number
      of a macro cart that will be executed each time a cut play starts or
      stops, respectively (useful for things such as dimming control room
      audio monitors).
    </para>
    <para>
      If the <computeroutput>Enable Heartbeat</computeroutput> box is ticked,
      then the macro cart specified in the
      <computeroutput>Cart:</computeroutput> will be executed at the specified
      interval as a means to provide a system watchdog heartbeat.
    </para>
    <para>
      If the <computeroutput>Use Realtime Filtering</computeroutput> box is
      ticked, then the filter parameters when searching for carts will be
      applied after each keystroke or parameter change. If unticked, then
      the <computeroutput>Search</computeroutput> must be touched before
      altered filter parameters will be applied.
    </para>
    <para>
      If the <computeroutput>Include in System Maintenance Pool</computeroutput>
      box is ticked, than this host will be included in the pool of systems
      eligible to run automatic system maintenance routines in the background.
    </para>
    <para>
      This setting should normally be left ticked unless the host in question
      has a limited bandwidth connection to the Rivendell database or audio
      store --e.g. is remotely located from the Rivendell server.
    </para>
    <para>
      If the <computeroutput>Enable Drag &amp; Drop</computeroutput> box is
      unticked, then Rivendell's drag and drop system will be disabled. If
      ticked, then dropping carts on SoundPanels can be disabled by unticking
      the
      <computeroutput>Allow Drops on Panels not in Setup Mode</computeroutput>
      box.
    </para>
    <para>
      The <computeroutput>System Services</computeroutput> can be used
      to allow this host to use the
      <computeroutput>HTTP Xport:</computeroutput> or
      <computeroutput>Core Audio Engine</computeroutput> services of another
      host in the Rivendell network.
    </para>
    <sect2 xml:id="sect.rdadmin.manage_hosts.configuring_rdlibrary">
      <title>Configuring RDLibrary</title>
      <para>
	To configure the rdlibrary(1) module, touch the
	<computeroutput>RDLibrary</computeroutput> button to open the
	Configure RDLibrary dialog.
      </para>
      <para>
	<mediaobject>
	  <imageobject>
	    <imagedata align="center" fileref="rdadmin.configure_rdlibrary_dialog.png" scale="60"/>
	  </imageobject>
	  <caption>
	    <para>The Configure RDLibrary Dialog</para>
	  </caption>
	</mediaobject>
      </para>
      <para>
	The <computeroutput>INPUT</computeroutput> and
	<computeroutput>OUTPUT</computeroutput> are used to specify
	the audio input and output to be used.
      </para>
      <para>
	The <computeroutput>Max Record Time</computeroutput> field sets
	the maximum time that rdlibrary(1)'s Record widget will run in
	record mode; when this time is reached, it will be automatically
	stopped. To allow an unlimited record duration, set this to
	<userinput>00:00:00</userinput>.
      </para>
      <para>
	The <computeroutput>VOX Threshold</computeroutput> control sets
	audio level at which to automatically begin recording when the
	<computeroutput>Record Mode</computeroutput> control is set to
	<computeroutput>VOX</computeroutput> in the Record dialog.
      </para>
      <para>
	The <computeroutput>AutoTrim Threshold</computeroutput> control sets
	audio level at which to trim the ends of the recorded audio when the
	<computeroutput>AutoTrim</computeroutput> control is set to
	<computeroutput>On</computeroutput> in the Record dialog.
      </para>
      <para>
	The <computeroutput>Tail Preroll</computeroutput> control sets
	how far before an end marker the audio cursor will be positioned
	when auditioning a marker edit.
      </para>
      <para>
	The <computeroutput>Ripper Device</computeroutput> field specifies
	the CD-ROM device to be used for ripping audio CDs.
      </para>
      <para>
	The <computeroutput>Paranoia Level</computeroutput> dropdown
	specifies the amount of error checking/recovery to be applied
	when ripping CDs, with <computeroutput>Normal</computeroutput> being
	the maximum amount. With modern CD-ROM hardware, it is often possible
	to obtain significantly faster ripper performance by setting this
	control to <computeroutput>Low</computeroutput> or even
	<computeroutput>None</computeroutput>.
      </para>
      <para>
	For further information on the <computeroutput>Low</computeroutput>
	and <computeroutput>None</computeroutput> options, see the
	'-Y' and '-Z' options in the cdparanoia(1) man page or 
	<link xlink:href="https://linux.die.net/man/1/cdparanoia">https://linux.die.net/man/1/cdparanoia</link>.
      </para>
      <para>
	The <computeroutput>Read ISRC from CD:</computeroutput> dropdown
	controls whether the ripper will attempt to read International
	Standard Recording Code data from audio tracks when loading the disc.
	Setting this
	to <computeroutput>Yes</computeroutput> can cause CD-ROM drives
	to take signficantly longer to read the table of contents of
	newly inserted discs when the disc does not contain ISRC data.
      </para>
      <para>
	The <computeroutput>FreeDB Server:</computeroutput> field takes the
	URL of the server to be used for doing FreeDB lookups for CDs by
	the CD ripper.
      </para>
      <para>
	The <computeroutput>Format:</computeroutput> dropdown indicates the
	audio encoding format to be used in Rivendell's audio store for
	ingested material.
      </para>
      <para>
	The <computeroutput>Bitrate:</computeroutput> dropdown indicates
	the bitrate to be used when encoding ingested material to
	<computeroutput>MPEG Layer 2</computeroutput>.
      </para>
      <para>
	If set to <computeroutput>Yes</computeroutput>, the
	<computeroutput>Allow External Editing</computeroutput> dropdown
	will cause an <computeroutput>Edit Audio</computeroutput> button
	to be displayed when editing audio carts.
      </para>
      <para>
	The <computeroutput>Sample Rate Converter:</computeroutput> dropdown
	controls which algorithm will be used when resampling ingested audio
	to a different sample rate. For more information regarding the various
	algorithms available, see
	<link xlink:href="http://mega-nerd.com/SRC/api_misc.html#Converters">
	  http://mega-nerd.com/SRC/api_misc.html#Converters</link>.
      </para>
      <para>
	When ticked, the <computeroutput>Limit Searchs at Startup
	</computeroutput> box will cause the
	<computeroutput>Show Only First 100 Matches</computeroutput> box
	to be ticked when starting a new instance of rdlibrary(1).
      </para>
      <para>
	The <computeroutput>Channels:</computeroutput> dropdown sets the
	default value of the <computeroutput>Channels:</computeroutput>
	dropdowns in rdlibrary(1).
      </para>
      <para>
	The<computeroutput>Record Mode</computeroutput> and
	<computeroutput>AutoTrim</computeroutput> dropdowns set the
	default value of the respective dropdowns in the Record dialog.
      </para>
      <para>
	The <computeroutput>Normalization Level:</computeroutput> control
	sets the default value of the
	<computeroutput>Normalization Level:</computeroutput> controls in
	rdlibrary(1).
      </para>
    </sect2>
    <sect2 xml:id="sect.rdadmin.manage_hosts.configuring_rdcatch">
      <title>Configuring RDCatch</title>
      <para>
	To configure the rdcatch(1) module, touch the
	<computeroutput>RDCatch</computeroutput> button to open the
	Configure RDCatch dialog.
      </para>
      <para>
	<mediaobject>
	  <imageobject>
	    <imagedata align="center" fileref="rdadmin.configure_rdcatch_dialog.png" scale="60"/>
	  </imageobject>
	  <caption>
	    <para>The Configure RDCatch Dialog</para>
	  </caption>
	</mediaobject>
      </para>
      <para>
	The RDCatch Dialog consists of four sections: Record Deck, Play Deck,
	Defaults and Host-Wide Settings.
      </para>
      <sect3 xml:id="rdadmin.manage_hosts.configuring_rdcatch.record_decks">
	<title>Record Decks</title>
	<para>
	  The <computeroutput>Record Deck</computeroutput> dropdown selects
	  the record deck to be configured.
	</para>
	<para>
	  The <computeroutput>Card:</computeroutput> and
	  <computeroutput>Port:</computeroutput> controls select which
	  audio input will feed the deck, while
	  <computeroutput>Monitor Port:</computeroutput> allows an
	  audio output to be configured for monitoring audio during recording.
	</para>
	<para>
	  The <computeroutput>Format:</computeroutput> and
	  <computeroutput>Bit Rate:</computeroutput> dropdowns are used
	  to specify the audio encoding format used in the Rivendell audio
	  store with recordings from this deck.
	  <computeroutput>Bit Rate:</computeroutput> is used only for a
	  <computeroutput>Format:</computeroutput> setting of
	  <computeroutput>MPEG Layer 2</computeroutput>.
	</para>
	<para>
	  The <computeroutput>Switcher Host:</computeroutput>,
	  <computeroutput>Switcher Matrix:</computeroutput> and
	  <computeroutput>Switcher Output:</computeroutput> controls can
	  be used to configure a switcher device for routing multiple audio
	  signals into this record deck. The specified switcher output
	  should be connected to the input specified by the
	  <computeroutput>Card:</computeroutput> and
	  <computeroutput>Port:</computeroutput> controls.
	</para>
	<para>
	  The <computeroutput>Channels:</computeroutput> control sets
	  the default value of the same control in rdcatch(1), while the
	  <computeroutput>Trim Threshold</computeroutput> sets the default
	  value of the autotrim <computeroutput>Level:</computeroutput>
	  control.
	</para>
      </sect3>
      <sect3 xml:id="rdadmin.manage_hosts.configuring_rdcatch.play_decks">
	<title>Play Decks</title>
	<para>
	  The <computeroutput>Play Deck</computeroutput> dropdown selects the
	  play deck to be configured.
	</para>
	<para>
	  The <computeroutput>Card:</computeroutput> and
	  <computeroutput>Port:</computeroutput> controls select which
	  audio output will be used by the deck.
	</para>
	<para>
	  The <computeroutput>Event Cart</computeroutput> take the number of
	  the macro cart that will be executed each time the corresponding
	  event marker (originally placed during recording by the Cut Event
	  ['CE'] RML) is encountered during playback.
	</para>
      </sect3>
      <sect3 xml:id="rdadmin.manage_hosts.configuring_rdcatch.host_wide_settings">
	<title>Host-Wide Settings</title>
	<para>
	  The <computeroutput>Error RML:</computeroutput> field takes RML
	  code that will be executed whenever rdcatch(1) encounters an error
	  in operations --e.g. a file download failure.
	</para>
      </sect3>
    </sect2>
    <sect2 xml:id="sect.rdadmin.manage_hosts.configuring_rdairplay">
      <title>Configuring RDAirPlay</title>
      <para>
	To configure the rdairplay(1) module, touch the
	<computeroutput>RDAirPlay</computeroutput> button to open the
	Configure RDAirPlay dialog.
      </para>
      <para>
	<mediaobject>
	  <imageobject>
	    <imagedata align="center" fileref="rdadmin.configure_rdairplay_dialog.png" scale="40"/>
	  </imageobject>
	  <caption>
	    <para>The Configure RDAirPlay Dialog</para>
	  </caption>
	</mediaobject>
      </para>
      <sect3 xml:id="rdadmin.manage_hosts.configure_rdairplay.channel_assignments">
	<title>Channel Assignments</title>
	<para>
	  The <computeroutput>Channel Assignments</computeroutput> section
	  contains controls for configuring the audio outputs, along with
	  associated fader metadata and automation.
	</para>
	<para>
	  <mediaobject>
	    <imageobject>
	      <imagedata align="center" fileref="rdadmin.rdairplay_channel_assignments.png" scale="50"/>
	    </imageobject>
	    <caption>
	      <para>Channel Assignments Section</para>
	    </caption>
	  </mediaobject>
	</para>
	<para>
	  Audio outputs for the Main Log, both Aux Logs and the Sound Panel
	  are configured by means of the
	  <computeroutput>Card:</computeroutput> and 
	  <computeroutput>Port:</computeroutput> controls. For the Main Log,
	  if <emphasis>both</emphasis>
	  <computeroutput>Output 1</computeroutput> and
	  <computeroutput>Output 2</computeroutput> are set to different
	  card and/or port values, rdairplay(1)'s output will alternate
	  between the two outputs.
	</para>
	<para>
	  Each of the corresponding
	  <computeroutput>Start RML:</computeroutput> and
	  <computeroutput>Stop RML:</computeroutput> fields can take
	  RML code that will be executed each time the associated channel
	  is started or stopped. <link linkend="appendix.metadata_wildcards">
	  Metadata wildcards</link> can be used in these fields, which will
	  reflect the values of the cart being started or stopped.
	</para>
	<para>
	  To configure fader automation for a given channel, touch its
	  <computeroutput>Edit GPIOs</computeroutput> button to
	  open the Edit Channel GPIOs dialog.
	</para>
	<para>
	  <mediaobject>
	    <imageobject>
	      <imagedata align="center" fileref="rdadmin.edit_channel_gpios_dialog.png" scale="50"/>
	    </imageobject>
	    <caption>
	      <para>Edit Channel GPIOs Dialog</para>
	    </caption>
	  </mediaobject>
	</para>
	<para>
	  The <computeroutput>GPI</computeroutput> fields specify a general
	  input event coming into Rivendell (typically mapped from the
	  fader ON or OFF status signal on the associated mixer desk).
	  Reception of
	  this signal will cause the corresponding RDAirPlay channel to be
	  started or stopped.
	  The <computeroutput>GPO</computeroutput> fields specify a general
	  output event emitted by Rivendell each time the corresponding
	  channel is started or stopped (typically mapped to the fader
	  ON or OFF remote control on the associated mixer desk).
	</para>
      </sect3>
      <sect3 xml:id="rdadmin.manage_hosts.configure_rdairplay.start_stop_settings">
	<title>Start/Stop Settings</title>
	<para>
	  The <computeroutput>Start/Stop Settings</computeroutput> section
	  controls the behavior of rdairplay(1) when the module is first
	  opened and finally closed.
	</para>
	<para>
	  <mediaobject>
	    <imageobject>
	      <imagedata align="center" fileref="rdadmin.rdairplay_start_stop_settings.png" scale="60"/>
	    </imageobject>
	    <caption>
	      <para>Start/Stop Section</para>
	    </caption>
	  </mediaobject>
	</para>
	<para>
	  The <computeroutput>Exit Password:</computeroutput> field can be
	  used to specify a password that must be entered when exiting
	  rdairplay(1) (useful for preventing inadvertent shutdowns).
	</para>
	<para>
	  For each of the log machines (Main Log, Aux 1 Log and Aux 2 Log),
	  it is possible to specify the action to take at startup by selecting
	  the appropriate value in the
	  <computeroutput>At Startup:</computeroutput> dropdown. If the
	  <computeroutput>Restart Log After Unclean Shutdown</computeroutput>
	  box is ticked, then rdairplay(1) will attempt to restart the log
	  from the event which was playing when the unclean shutdown occurred.
	</para>
      </sect3>
      <sect3 xml:id="rdadmin.manage_hosts.configure_rdairplay.display_settings">
	<title>Display Settings</title>
	<para>
	  The <computeroutput>Display Settings</computeroutput> section
	  controls the contents and formatting of the label areas of the
	  button widget as well as the &quot;skin&quot; used for the
	  overall rdairplay(1) window.
	</para>
	<para>
	  <mediaobject>
	    <imageobject>
	      <imagedata align="center" fileref="rdadmin.rdairplay_display_settings.png" scale="60"/>
	    </imageobject>
	    <caption>
	      <para>Display Settings</para>
	    </caption>
	  </mediaobject>
	</para>
	<para>
	  The <computeroutput>Background Image:</computeroutput> field takes
	  the full path to a bitmap file to use as the background
	  &quot;skin&quot; for rdairplay(1)'s main window. The file should
	  be 1024x738 resolution and be of type JPG or PNG.
	</para>
	<para>
	  Each of the <computeroutput>Template:</computeroutput> fields
	  define the formatting of one of the lines of the label areas in the
	  button widget. <link linkend="appendix.metadata_wildcards">
	  Metadata wildcards</link> are used to define the contents to be
	  displayed.
	</para>
      </sect3>
      <sect3 xml:id="rdadmin.manage_hosts.configure_rdairplay_start_stop_settings">
	<title>Log Mode Control</title>
	<para>
	  The <computeroutput>Log Mode Control</computeroutput> section
	  configures the behavior of rdairplay(1) mode controls.
	</para>
	<para>
	  <mediaobject>
	    <imageobject>
	      <imagedata align="center" fileref="rdadmin.rdairplay_log_mode_control.png" scale="60"/>
	    </imageobject>
	    <caption>
	      <para>Log Mode Control</para>
	    </caption>
	  </mediaobject>
	</para>
	<para>
	  The <computeroutput>Mode Control Style</computeroutput> dropdown is
	  used to specify whether operating mode of the log machines are
	  always the same (<computeroutput>Unified</computeroutput> mode) or
	  can be separately set (<computeroutput>Indepdendent</computeroutput>
	  mode).
	</para>
	<para>
	  The startup states of the log machines can be set by means of the
	  <computeroutput>Start Mode:</computeroutput> dropdowns.
	</para>
      </sect3>
      <sect3 xml:id="rdadmin.manage_hosts.configure_rdairplay_log_settings">
	<title>Log Settings</title>
	<para>
	  The <computeroutput>Log Settings</computeroutput> section
	  configures the behavior of log operations.
	</para>
	<para>
	  <mediaobject>
	    <imageobject>
	      <imagedata align="center" fileref="rdadmin.rdairplay_log_settings.png" scale="60"/>
	    </imageobject>
	    <caption>
	      <para>Log Settings</para>
	    </caption>
	  </mediaobject>
	</para>
	<para>
	  The <computeroutput>Manual Segue:</computeroutput> field specifies
	  the duration of the segue overlap to apply when manually starting
	  a log event while one or more other events are currently playing.
	</para>
	<para>
	  The <computeroutput>Forced Segue:</computeroutput> field specifies
	  the duration of the segue overlap to apply when a hard time event
	  starts while one or more other events are currently playing.
	</para>
	<para>
	  The <computeroutput>Pie Counts Last:</computeroutput> field specifies
	  when the pie widget begins its countdown, relative to the setting
	  of the <computeroutput>Pie Counts To:</computeroutput> dropdown. If
	  set to <computeroutput>Cart End</computeroutput>, countdown will
	  always be relative to the end marker of the cut, whereas a setting
	  of <computeroutput>Transition</computeroutput> will count down
	  relative to the start of the transition to the following event.
	</para>
	<para>
	  The <computeroutput>Default Trans. Type</computeroutput> dropdown
	  determines what transition type will be applied by default when
	  adding a new event to a log.
	</para>
	<para>
	  The <computeroutput>Default Service:</computeroutput> dropdown
	  determins what service will be associated with a newly created
	  log.
	</para>
      </sect3>
      <sect3 xml:id="rdadmin.manage_hosts.configure_rdairplay_sound_panel_settings">
	<title>Sound Panel Settings</title>
	<para>
	  The <computeroutput>Sound Panel Settings</computeroutput> section
	  configures the behavior of Sound Panel operations.
	</para>
	<para>
	  <mediaobject>
	    <imageobject>
	      <imagedata align="center" fileref="rdadmin.rdairplay_sound_panel_settings.png" scale="60"/>
	    </imageobject>
	    <caption>
	      <para>Sound Panel Settings</para>
	    </caption>
	  </mediaobject>
	</para>
	<para>
	  The total number of system and User panels are set with the
	  <computeroutput>System Panels:</computeroutput> and
	  <computeroutput>User Panels:</computeroutput> fields respectively.
	</para>
	<para>
	  If the <computeroutput>Flash Active Buttons</computeroutput> box
	  is ticked, then the buttons in the button widget that correspond
	  to playing events will flash.
	</para>
	<para>
	  If the <computeroutput>Enable Button Pausing</computeroutput> box
	  is ticked, then touching the button of an playing event will cause
	  it to pause rather than stopping. A paused event can be restarted
	  by pressing its button again.
	</para>
	<para>
	  The <computeroutput>Label Template</computeroutput> control
	  determines the default button legend for newly created Sound
	  Panel buttons. <link linkend="appendix.metadata_wildcards">
	  Metadata wildcards</link> can be used in this field.
	</para>
      </sect3>
      <sect3 xml:id="rdadmin.manage_hosts.configure_rdairplay_miscellaneous_settings">
	<title>Miscellaneous Settings</title>
	<para>
	  <mediaobject>
	    <imageobject>
	      <imagedata align="center" fileref="rdadmin.rdairplay_miscellaneous_settings.png" scale="60"/>
	    </imageobject>
	    <caption>
	      <para>Miscellaneous Settings</para>
	    </caption>
	  </mediaobject>
	</para>
	<para>
	  If the <computeroutput>Check Time Sync</computeroutput> box is
	  ticked, the status of the kernel's time synchronization PLL lock
	  will be check periodically. If not locked, the wall clock will
	  flash red.
	</para>
	<para>
	  Ticking <computeroutput>Show Auxlog 1</computeroutput> or
	  <computeroutput>Show Auxlog 2</computeroutput> boxes will cause
	  selector buttons for the respective log machines to be displayed.
	</para>
	<para>
	  If the <computeroutput>Clear Cart Search Filter</computeroutput> box
	  is ticked, the cart search dialog's filter will be cleared each
	  time the dialog is redisplayed.
	</para>
	<para>
	  If the <computeroutput>Enable Paused Events</computeroutput> box is
	  ticked, touch the button for a playing event will cause that event
	  to be paused rather than stopped. A stopped event can be restarted by
	  touching it again, dismissed by deleting the event.
	</para>
	<para>
	  Ticking the <computeroutput>Show Extra Buttons/Counters</computeroutput>
	  box will cause <computeroutput>Audition Head</computeroutput>,
	  <computeroutput>Audition Tail</computeroutput> buttons and the
	  <computeroutput>Run Length</computeroutput> to be displayed as part
	  of the List Log widget.
	</para>
	<para>
	  Ticking the <computeroutput>Show Hour Selector</computeroutput> will
	  cause the Hour Selector to be displ;ayed as part of the List Log
	  widget.
	</para>
	<para>
	  The <computeroutput>Audition Preroll</computeroutput> sets how far
	  before the current play position an audition playout will begin.
	</para>
	<para>
	  The <computeroutput>Space Bar Action</computeroutput> sets what
	  action will taken when the space bar is pressed.
	</para>
      </sect3>
      <sect3 xml:id="rdadmin.manage_hosts.configure_rdairplay_configuring_hotkeys">
	<title>Configuring Hotkeys</title>
	<para>
	  Keyboard shortcuts (also known as &quot;hotkeys&quot;) can be
	  configured by touch the
	  <computeroutput>Configure Hotkeys</computeroutput> button, bringing
	  up the Hot Key Configuration dialog.
	</para>
	<para>
	  <mediaobject>
	    <imageobject>
	      <imagedata align="center" fileref="rdadmin.rdairplay_hotkey_configuration_dialog.png" scale="60"/>
	    </imageobject>
	    <caption>
	      <para>The Hotkey Configuration Dialog</para>
	    </caption>
	  </mediaobject>
	</para>
	<para>
	  A hotkey can be assigned to a particular function by selecting
	  that function off of the
	  <computeroutput>Host Hot Key Configuration</computeroutput> list,
	  pressing and releasing the desired key, and then touching the
	  <computeroutput>Set</computeroutput> button. To remove a hotkey
	  assignment, select the desired function and then touch the
	  <computeroutput>Clear</computeroutput> button. Touching the
	  <computeroutput>Clear All Hotkeys</computeroutput> button will
	  clear <emphasis>all</emphasis> hotkey assignments for this host.
	  Hotkey assignments from a different host can be copied to this
	  one by selecting the desired source host in the
	  <computeroutput>Set From Host:</computeroutput> dropdown and
	  then touching <computeroutput>Save</computeroutput>.
	</para>
	<note>
	  <para>
	    Not all keys may be mappable as a hotkey, as certain window
	    managers &quot;steal&quot; keys for their own use!
	  </para>
	</note>
      </sect3>
    </sect2>
    <sect2 xml:id="sect.rdadmin.manage_hosts.configuring_rdpanel">
      <title>Configuring RDPanel</title>
      <para>
	To configure the rdpanel(1) module, touch the
	<computeroutput>RDPanel</computeroutput> button to open the
	Configure RDPanel dialog.
      </para>
      <para>
	<mediaobject>
	  <imageobject>
	    <imagedata align="center" fileref="rdadmin.configure_rdpanel_dialog.png" scale="40"/>
	  </imageobject>
	  <caption>
	    <para>The Configure RDPanel Dialog</para>
	  </caption>
	</mediaobject>
      </para>
      <para>
	The rdpanel(1) application is merely a larger version of
	the Sound Panel portion of rdairplay(1). As such, its configuration
	closely mirrors that of the
	<link linkend="sect.rdadmin.manage_hosts.configuring_rdairplay">
	  RDAirPlay configuration</link>. Please see that section for details.
      </para>
      <para>
	Although rdpanel(1)'s panels appear similar to rdairplay(1)'s panels,
	rdpanel(1) has its own set of system and user panels that are independent
	of rdairplay(1) and must be set up separately.
      </para>
    </sect2>
    <sect2 xml:id="sect.rdadmin.manage_hosts.configuring_rdlogedit">
      <title>Configuring RDLogEdit</title>
      <para>
	To configure the rdlogedit(1) module, touch the
	<computeroutput>RDLogEdit</computeroutput> button to open the
	Configure RDLogEdit dialog.
      </para>
      <para>
	<mediaobject>
	  <imageobject>
	    <imagedata align="center" fileref="rdadmin.configure_rdlogedit_dialog.png" scale="50"/>
	  </imageobject>
	  <caption>
	    <para>The Configure RDLogEdit Dialog</para>
	  </caption>
	</mediaobject>
      </para>
      <para>
	The <computeroutput>INPUT</computeroutput> and
	<computeroutput>OUTPUT</computeroutput> are used to specify
	the audio input and output to be used.
      </para>
      <para>
	The <computeroutput>Max Record Time</computeroutput> field sets
	the maximum time that rdlogedit(1)'s voice tracker will run in
	record mode; when this time is reached, it will be automatically
	stopped. To allow an unlimited record duration, set this to
	<userinput>00:00:00</userinput>.
      </para>
      <para>
	The <computeroutput>AutoTrim Threshold</computeroutput> control sets
	audio level at which to trim the ends of the recorded audio in the
	voice tracker.
      </para>
      <para>
	The <computeroutput>Normalization Level</computeroutput> control sets
	audio level at which to peak normalize the recorded audio in the
	voice tracker.
      </para>
      <para>
	The <computeroutput>Format:</computeroutput> and
	<computeroutput>Bit Rate:</computeroutput> dropdowns are used
	to specify the audio encoding format used in the Rivendell audio
	store with the voice tracker.
	<computeroutput>Bit Rate:</computeroutput> is used only for a
	<computeroutput>Format:</computeroutput> setting of
	<computeroutput>MPEG Layer 2</computeroutput>.
      </para>
      <para>
	If the <computeroutput>Enable 2nd Start Button:</computeroutput>
	dropdown is set to <computeroutput>No</computeroutput>, then
	the voice tracker will not display the second
	<computeroutput>Start</computeroutput> button (and hence, not
	run the event that follows the recorded track), but wait for the
	<computeroutput>Save</computeroutput> button to be touched after
	starting the track recording.
      </para>
      <para>
	The <computeroutput>Play Start Cart:</computeroutput>,
	<computeroutput>Play End Cart:</computeroutput>,
	The <computeroutput>Record Start Cart:</computeroutput> and
	The <computeroutput>Record End Cart:</computeroutput> fields each
	take the number of a macro cart to be executed when the respective
	audio signal starts or ends. (Useful for automated external audio
	paths changes to support voicetracking operations).
      </para>
      <para>
	The <computeroutput>Channels:</computeroutput> dropdown indicates
	the number of channels to use when recording voicetracks.
      </para>
      <para>
	The <computeroutput>Default Transition</computeroutput> indicates
	the transition type to use by default when adding a new log
	event.
      </para>
    </sect2>
    <sect2 xml:id="sect.rdadmin.manage_hosts.configuring_rdcartslots">
      <title>Configuring RDCartSlots</title>
      <para>
	To configure the rdcartslots(1) module, touch the
	<computeroutput>RDCartSlots</computeroutput> button to open the
	Configure RDCartSlots dialog.
      </para>
      <para>
	<mediaobject>
	  <imageobject>
	    <imagedata align="center" fileref="rdadmin.configure_rdcartslots_dialog.png" scale="50"/>
	  </imageobject>
	  <caption>
	    <para>The Configure RDCartSlots Dialog</para>
	  </caption>
	</mediaobject>
      </para>
      <para>
	The <computeroutput>Global Settings</computeroutput> section is used
	to configure the number and arrangment of cart slots. The number of
	supported slots is limited only by the available resolution of the
	display monitor.
      </para>
      <para>
	The <computeroutput>Slot Settings</computeroutput> is used to
	configure each individual slot.
	<computeroutput>Channel Assignments</computeroutput> settings are
	used to specify the audio input and output to be used. (The
	<computeroutput>Input Port</computeroutput> value is used only
	when the slot is in <userinput>Breakaway</userinput> mode.)
      </para>
      <para>
	The <computeroutput>Default Settings</computeroutput> settings are
	used to configure the detailed behavior of the specified cart slot.
	<computeroutput>Service:</computeroutput> defines the slot's default
	service when in <userinput>Breakaway</userinput> mode.
	<computeroutput>Slot Mode:</computeroutput> sets the mode of the
	slot and <computeroutput>Play Mode</computeroutput> sets the default
	state of the <userinput>Full</userinput> or <userinput>Hook</userinput>
	play mode. The contents of the slot at startup can be set using the
	<computeroutput>At Startup:</computeroutput> dropdown, and the
	action when play-out finishes set in the
	<computeroutput>At Playout End:</computeroutput> control.
      </para>
    </sect2>
    <sect2 xml:id="sect.rdadmin.manage_hosts.configuring_dropboxes">
      <title>Configuring Dropboxes</title>
      <sect3 xml:id="sect.rdadmin.manage_hosts.configuring_dropboxes.overview">
	<title>Overview</title>
	<para>
	  A <emphasis>dropbox</emphasis> is a Rivendell process that runs
	  in the background and performs automatic file importation. At its
	  most basic level, each dropbox is configured to have a specific
	  <emphasis>group</emphasis> (within whose carts audio is saved)
	  and a <emphasis>path</emphasis> (a location in the
	  filesystem whence the dropbox will obtain audio to import). When
	  one or more audio files that match the path specification are
	  copied to the path location, the dropbox will automatically import
	  the file(s). There are a number of additional parameters which
	  can be set to influence the way in which a particular dropbox
	  will process audio, which will be covered below.
	</para>
	<para>
	  The number of dropboxes capable of being configured on a given host
	  is limited only by that host's hardware capabilities.
	</para>
      </sect3>
      <sect3 xml:id="sect.rdadmin.manage_hosts.configuring_dropboxes.configuration">
	<title>Configuration</title>
	<para>
	  To see the list of dropboxes currently configured on the system,
	  touch the <computeroutput>Dropboxes</computeroutput> button to open
	  the Rivendell Dropbox Configurations Dialog.
	</para>
	<para>
	  <mediaobject>
	    <imageobject>
	      <imagedata align="center" fileref="rdadmin.rivendell_dropbox_configurations_dialog.png" scale="50"/>
	    </imageobject>
	    <caption>
	      <para>The Rivendell Dropbox Configurations Dialog</para>
	    </caption>
	  </mediaobject>
	</para>
	<para>
	  A new dropbox can be created by touching the
	  <computeroutput>Add</computeroutput> button, opening the
	  Dropbox Configuration dialog.
	</para>
	<para>
	  <mediaobject>
	    <imageobject>
	      <imagedata align="center" fileref="rdadmin.dropbox_configuration_dialog.png" scale="50"/>
	    </imageobject>
	    <caption>
	      <para>The Dropbox Configuration Dialog</para>
	    </caption>
	  </mediaobject>
	</para>
	<para>
	  The group of the new dropbox is set with the
	  <computeroutput>Default Group:</computeroutput> dropdown and the
	  path with the <computeroutput>Path Spec:</computeroutput> field.
	</para>
	<important>
	  <para>
	    The <computeroutput>Path Spec:</computeroutput> field must match
	    the <emphasis>full file path</emphasis> of the files to be
	    processed, not just the sub-directory that contains those files.
	  </para>
	  <para>
	    For example: say we have a directory called '/home/rd/dropbox',
	    which contains the following files:
	    <simplelist>
	      <member><userinput>mysong.mp3</userinput></member>
	      <member><userinput>mysong.wav</userinput></member>
	      <member><userinput>yoursong.mp3</userinput></member>
	    </simplelist>
	  </para>
	  <para>
	    <link linkend="table.rdadmin.pathspec_examples">Table 10.2</link>
	    shows the results using various example
	    <computeroutput>PathSpec:</computeroutput> values.
	  </para>
	  <para>
	    <table xml:id="table.rdadmin.pathspec_examples" frame="all">
	      <title>Dropbox PathSpec Examples</title>
	      <tgroup cols="3" align="left" colsep="1" rowsep="1">
		<colspec colname="PathSpec" colwidth="2.0*"/>
		<colspec colname="Matches" colwidth="1.0*"/>
		<colspec colname="Comments" colwidth="2.0*"/>
		<thead>
		  <row>
		    <entry>PathSpec</entry>
		    <entry>Matches</entry>
		    <entry>Comments</entry>
		  </row>
		</thead>
		<tbody>
		  <row>
		    <entry><userinput>/home/rd/dropbox/*</userinput></entry>
		    <entry>
		      <simplelist>
			<member><userinput>mysong.mp3</userinput></member>
			<member><userinput>mysong.wav</userinput></member>
			<member><userinput>yoursong.mp3</userinput></member>
		      </simplelist>
		    </entry>
		    <entry>Matches <emphasis>all</emphasis> files in
		    <userinput>/home/rd/dropbox</userinput></entry>
		  </row>
		  <row>
		    <entry><userinput>/home/rd/dropbox/*.mp3</userinput></entry>
		    <entry>
		      <simplelist>
			<member><userinput>mysong.mp3</userinput></member>
			<member><userinput>yoursong.mp3</userinput></member>
		      </simplelist>
		    </entry>
		    <entry>Matches every file in
		    <userinput>/home/rd/dropbox</userinput> that ends
		    with <userinput>.mp3</userinput></entry>
		  </row>
		  <row>
		    <entry><userinput>/home/rd/dropbox/mysong.*</userinput></entry>
		    <entry>
		      <simplelist>
			<member><userinput>mysong.mp3</userinput></member>
			<member><userinput>mysong.wav</userinput></member>
		      </simplelist>
		    </entry>
		    <entry>Matches every file in
		    <userinput>/home/rd/dropbox</userinput> that begins
		    with <userinput>mysong.</userinput></entry>
		  </row>
		  <row>
		    <entry><userinput>/home/rd/dropbox</userinput></entry>
		    <entry>
		    </entry>
		    <entry>Matches nothing. [No file part of the PathSpec].
		    </entry>
		  </row>
		  <row>
		    <entry><userinput>/home/rd/dropbox/</userinput></entry>
		    <entry>
		    </entry>
		    <entry>Matches nothing. [No file part of the PathSpec].
		    </entry>
		  </row>
		</tbody>
	      </tgroup>
	    </table>
	  </para>
	</important>
	<para>
	  A new dropbox created with just the
	  <computeroutput>Default Group:</computeroutput> and
	  <computeroutput>PathSpec:</computeroutput> fields set and no
	  other parameters changed will detect any file that matches the
	  <computeroutput>PathSpec:</computeroutput>, create a new cart in the
	  <computeroutput>Default Group:</computeroutput> and then attempt
	  to import the file into a new cut in the cart.
	</para>
	<important>
	  <para>
	    For this process to work, the specified group must also have
	    its <computeroutput>Default Cart Number:</computeroutput>
	    fields in the Group Dialog set to a valid range, and there
	    must be a free number within that range available. If either
	    of these conditions are not met, the dropbox will throw an
	    error.
	  </para>
	</important>
	<note>
	  <para>
	    The importation will only happen <emphasis>once</emphasis> for
	    each file matched. To get a dropbox to re-process files
	    that have already been imported, touch the
	    <computeroutput>Reset</computeroutput> button.
	  </para>
	</note>
	<para>
	  The following controls can be utilized to influence how a
	  dropbox will process a matched file:
	</para>
	<variablelist>
	  <varlistentry>
	    <term>
	      <computeroutput>To Cart:</computeroutput>
	    </term>
	    <listitem>
	      <para>
		Add a new cut to the specified cart and import into that,
		rather than creating a new cart. If the
		<computeroutput>Delete cuts before importing</computeroutput>
		box is also ticked, then any existing cuts in the specified
		cart will be deleted before adding the new cut.
	      </para>
	    </listitem>
	  </varlistentry>
	  <varlistentry>
	    <term>
	      <computeroutput>Metadata Pattern:</computeroutput>
	    </term>
	    <listitem>
	      <para>
		Attempt to discern the title to give to the new cart from the
		name of the matched file, using
		<link linkend="appendix.metadata_wildcards">metadata
		wildcards</link> as a template.
	      </para>
	    </listitem>
	  </varlistentry>
	  <varlistentry>
	    <term>
	      <computeroutput>User Defined:</computeroutput>
	    </term>
	    <listitem>
	      <para>
		Set the value of this field as the user defined field of
		the new cart.
	      </para>
	    </listitem>
	  </varlistentry>
	  <varlistentry>
	    <term>
	      <computeroutput>Log File:</computeroutput>
	    </term>
	    <listitem>
	      <para>
		The full path to a file to which to write a log of dropbox
		operations. Useful for troubleshooting problems. If a log file
		is not specified, the log will be written to the log specified
		in the <userinput>[Logs]</userinput> section of
		<command>rd.conf</command><manvolnum>5</manvolnum>.
	      </para>
	    </listitem>
	  </varlistentry>
	  <varlistentry>
	    <term>
	      <computeroutput>Delete source files after import</computeroutput>
	    </term>
	    <listitem>
	      <para>
		Delete the source file after successful importation.
	      </para>
	    </listitem>
	  </varlistentry>
	  <varlistentry>
	    <term>
	      <computeroutput>Force to Monaural</computeroutput>
	    </term>
	    <listitem>
	      <para>
		Import the matched file to a single channel (mixing multiple
		channels together if necessary).
	      </para>
	    </listitem>
	  </varlistentry>
	  <varlistentry>
	    <term>
	      <computeroutput>Normalize Levels</computeroutput>
	    </term>
	    <listitem>
	      <para>
		Peak-normalize the matched file to the specified
		<computeroutput>Level:</computeroutput> in dBFS.
	      </para>
	    </listitem>
	  </varlistentry>
	  <varlistentry>
	    <term>
	      <computeroutput>Autotrim Cuts</computeroutput>
	    </term>
	    <listitem>
	      <para>
		Autotrim the matched file, using a threshold of
		<computeroutput>Level:</computeroutput> dBFS.
	      </para>
	    </listitem>
	  </varlistentry>
	  <varlistentry>
	    <term>
	      <computeroutput>Insert Segue Markers</computeroutput>
	    </term>
	    <listitem>
	      <para>
		If no segue marker information is found in the metadata
		of the matched file, create segue markers, starting at the
		last instance of <computeroutput>Segue Level:</computeroutput>
		and lasting for <computeroutput>Segue Length:</computeroutput>
		milliseconds.
	      </para>
	    </listitem>
	  </varlistentry>
	  <varlistentry>
	    <term>
	      <computeroutput>Get cart number from CartChunk CutID</computeroutput>
	    </term>
	    <listitem>
	      <para>
		Determine the number of the destination cart from the
		matched file's CartChunk CutID field. If the cart does not
		exist, it will be created. The destination cart must
		lie within the valid range for the specified group.
	      </para>
	    </listitem>
	  </varlistentry>
	  <varlistentry>
	    <term>
	      <computeroutput>Get cart title from CartChunk CutID</computeroutput>
	    </term>
	    <listitem>
	      <para>
		Determine the title of the destination cart from the
		matched file's CartChunk CutID field.
	      </para>
	    </listitem>
	  </varlistentry>
	  <varlistentry>
	    <term>
	      <computeroutput>Offset start date</computeroutput>
	    </term>
	    <listitem>
	      <para>
		If a start date is found in the matched file's metadata,
		add the specified <computeroutput>days</computeroutput> to
		it.
	      </para>
	    </listitem>
	  </varlistentry>
	  <varlistentry>
	    <term>
	      <computeroutput>Offset end date</computeroutput>
	    </term>
	    <listitem>
	      <para>
		If an end date is found in the matched file's metadata,
		add the specified <computeroutput>days</computeroutput> to
		it.
	      </para>
	    </listitem>
	  </varlistentry>
	  <varlistentry>
	    <term>
	      <computeroutput>Create Dates when no Dates Exist</computeroutput>
	    </term>
	    <listitem>
	      <para>
		If no start or end date is found in the matched file's metadata,
		add such, adding the specified number of days to the current
		date.
	      </para>
	    </listitem>
	  </varlistentry>
	</variablelist>
	<para>
	  Carts created by this dropbox can be assigned one or more existing
	  scheduler codes by touching the
	  <computeroutput>Scheduler Codes</computeroutput> button to open the
	  Select Scheduler Codes dialog.
	</para>
	<para>
	  <mediaobject>
	    <imageobject>
	      <imagedata align="center" fileref="rdadmin.select_scheduler_codes_dialog.png" scale="50"/>
	    </imageobject>
	    <caption>
	      <para>The Select Scheduler Codes Dialog</para>
	    </caption>
	  </mediaobject>
	</para>
      </sect3>
    </sect2>
    <sect2 xml:id="sect.rdadmin.manage_hosts.configuring_switcher_gpio_devices">
      <title>Configuring Switcher/GPIO Devices</title>
      <para>
	To configure the Switcher/GPIO devices, touch the
	<computeroutput>Switchers/GPIO</computeroutput> button to open the
	Rivendell Switcher List dialog.
      </para>
      <para>
	<mediaobject>
	  <imageobject>
	    <imagedata align="center" fileref="rdadmin.rivendell_switcher_list_dialog.png" scale="60"/>
	  </imageobject>
	  <caption>
	    <para>The Rivendell Switcher List Dialog</para>
	  </caption>
	</mediaobject>
      </para>
      <para>
	To add a new Switcher/GPIO device, touch the
	<computeroutput>Add</computeroutput> button to open the Edit Switcher
	dialog.
      </para>
      <para>
	<mediaobject>
	  <imageobject>
	    <imagedata align="center" fileref="rdadmin.edit_switcher_dialog.png" scale="60"/>
	  </imageobject>
	  <caption>
	    <para>The Edit Switcher Dialog</para>
	  </caption>
	</mediaobject>
      </para>
      <note>
	<para>
	  Rivendell supports a huge diversity of third-party switcher and
	  GPIO devices, every one of which has its own unique operating
	  requirements. The description which follows provides a broad
	  overview of how these devices are configured, but be sure to consult
	  the device-specific notes for the unit question in 
	  <xref linkend="appendix.gpio_switcher_devices"/> as well!.
	</para>
      </note>
      <sect3 xml:id="sect.rdadmin.manage_hosts.configuring_switcher_gpio_devices.connections">
	<title>Connections</title>
	<para>
	  If the target device is controlled via some sort of
	  <emphasis>connection</emphasis> (TCP/IP or serial), that connection
	  is configured in the <computeroutput>Primary Connection</computeroutput>
	  section of the dialog. (Certain devices support multiple, redundant
	  connections, in which case the
	  <computeroutput>Backup Connection</computeroutput> section will be
	  available as well).
	</para>
	<para>
	  The <computeroutput>Type:</computeroutput> dropdown is used to
	  indicate if the connection is via <userinput>TCP/IP</userinput> or
	  <userinput>serial</userinput>. If <userinput>serial</userinput> is
	  selected, then the serial device to use can be selected by means of
	  the <computeroutput>Serial Port:</computeroutput> dropdown.
	</para>
	<important>
	  If using a serial port, be sure that the selected port
	  has also been configured! See
	  <xref linkend="sect.rdadmin.manage_hosts.configuring_serial_ports" />.
	</important>
	<para>
	  If <userinput>TCP/IP</userinput> is selected, then the
	  <computeroutput>IP Address:</computeroutput> and
	  <computeroutput>IP Port:</computeroutput> fields must be populated.
	  Certain devices also require that the
	  <computeroutput>Username:</computeroutput> and
	  <computeroutput>Password:</computeroutput> fields be populated as
	  well.
	</para>
	<para>
	  The <computeroutput>Startup Cart:</computeroutput> and
	  <computeroutput>Shutdown Cart:</computeroutput> fields take the
	  number of a macro cart that will be run after the connection
	  established or dropped, respectively.
	</para>
      </sect3>
      <sect3 xml:id="sect.rdadmin.manage_hosts.configuring_switcher_gpio_devices.miscelaneous_settings">
	<title>Miscellaneous Settings</title>
	<para>
	  Below the Connection settings are various miscellaneous controls
	  and buttons. Not all of these are used for all supported devices.
	</para>
	<para>
	  Use of the <computeroutput>Card:</computeroutput>,
	  <computeroutput>Device:</computeroutput> and
	  <computeroutput>Layer:</computeroutput> fields are specific to
	  the type of device. See that device's entry in
	  <xref linkend="appendix.gpio_switcher_devices"/> for more
	  information.
	</para>
	<para>
	  The <computeroutput>Inputs:</computeroutput>,
	  <computeroutput>Outputs:</computeroutput>,
	  <computeroutput>GPIs:</computeroutput>,
	  <computeroutput>GPOs:</computeroutput> and
	  <computeroutput>Displays:</computeroutput> controls should be
	  set to the number of those resources the target device contains.
	  In many cases, these fields will be auto-detected by Rivendell's
	  driver.
	</para>
	<para>
	  The <computeroutput>Configure Inputs</computeroutput> and
	  <computeroutput>Configure Outputs</computeroutput> buttons
	  can be used to assign names to each switcher input and output
	  on the target device. These names will appear in rdcatch(1) when
	  configuring record events.
	</para>
	<para>
	  The <computeroutput>Configure GPIs</computeroutput> and
	  <computeroutput>Configure GPOs</computeroutput> buttons
	  can be used to configure the default action to be taken in response
	  to reception of a GPIO event. Touching one of these buttons brings
	  up the List GPIs Dialog.
	</para>
	<para>
	  <mediaobject>
	    <imageobject>
	      <imagedata align="center" fileref="rdadmin.list_gpis_dialog.png" scale="60"/>
	    </imageobject>
	    <caption>
	      <para>The List GPIs Dialog</para>
	    </caption>
	  </mediaobject>
	</para>
	<para>
	  To edit a particular GPIO line, select its entry on the list and
	  touch the <computeroutput>Edit</computeroutput> button to bring up
	  the Edit GPI Dialog.
	</para>
	<para>
	  <mediaobject>
	    <imageobject>
	      <imagedata align="center" fileref="rdadmin.edit_gpi_dialog.png" scale="60"/>
	    </imageobject>
	    <caption>
	      <para>The Edit GPI Dialog</para>
	    </caption>
	  </mediaobject>
	</para>
	<para>
	  Two macro carts may be associated with each event: one for the
	  leading edge [<computeroutput>ON Transition</computeroutput>]
	  and one for the trailing edge
	  [<computeroutput>OFF Transition</computeroutput>].
	</para>
	<important>
	  <para>
	    The macro cart associations configured here are merely defaults,
	    set when the Rivendell service is [re]started. They
	    can subsequently be altered dynamically through use of the
	    GPI Set ['GI'] command.
	    (See <xref linkend="sect.rml.gpi_set__gi_" />).
	  </para>
	</important>
      </sect3>
    </sect2>
    <sect2 xml:id="sect.rdadmin.manage_hosts.configuring_host_variables">
      <title>Configuring Host Variables</title>
      <sect3 xml:id="sec.rdadmin.manage_hosts.configuring_host_variables.overview">
	<title>Overview</title>
	<para>
	  <emphasis>Host variables</emphasis> are alphanumeric tags bracketed
	  by '%' characters --e.g. <userinput>%HOST_VAR%</userinput> -- that
	  can be assigned string values on a per host basis. When used in
	  the command list in a macro cart, the assigned string is
	  automatically substituted for the variable name.
	</para>
      </sect3>
      <sect3 xml:id="sec.rdadmin.manage_hosts.configuring_host_variables.editing_host_variables">
	<title>Editing Host Variables</title>
	<para>
	  To add, edit or delete host variables, touch the
	  <computeroutput>Host Variables</computeroutput> button to open the
	  Host Variables dialog.
	</para>
	<para>
	  <mediaobject>
	    <imageobject>
	      <imagedata align="center" fileref="rdadmin.host_variables_dialog.png" scale="60"/>
	    </imageobject>
	    <caption>
	      <para>The Host Variables Dialog</para>
	    </caption>
	  </mediaobject>
	</para>
	<para>
	  To edit the value of an host variable, select its entry on the
	  <computeroutput>Host Variables</computeroutput> list and then touch
	  the <computeroutput>Edit</computeroutput> button to bring up the
	  Edit Host Variable dialog.
	</para>
	<para>
	  <mediaobject>
	    <imageobject>
	      <imagedata align="center" fileref="rdadmin.edit_host_variable_dialog.png" scale="60"/>
	    </imageobject>
	    <caption>
	      <para>The Edit Host Variable Dialog</para>
	    </caption>
	  </mediaobject>
	</para>
      </sect3>
    </sect2>
    <sect2 xml:id="sect.rdadmin.manage_hosts.configuring_audio_ports">
      <title>Configuring Audio Ports</title>
      <para>
	To configure audio ports, touch the
	<computeroutput>Audio Ports</computeroutput> button to open the
	Edit Audio Ports dialog.
      </para>
      <para>
	<mediaobject>
	  <imageobject>
	    <imagedata align="center" fileref="rdadmin.edit_audio_ports_dialog.png" scale="50"/>
	  </imageobject>
	  <caption>
	    <para>The Edit Audio Ports Dialog</para>
	  </caption>
	</mediaobject>
      </para>
      <note>
	<para>
	  As of this writing, settings made in this dialog will have effect
	  only on audio devices using the AudioScience HPI driver.
	</para>
      </note>
      <para>
	The <computeroutput>Card:</computeroutput> dropdown is used to select
	the audio card to which to apply settings.
	<computeroutput>Clock Source:</computeroutput> is used to select the
	source of the sample clock.
      </para>
      <para>
	Each input and output port on a card can be set to be of a certain
	type (<userinput>Analog</userinput>, <userinput>AES/EBU</userinput>
	or <userinput>SP/DIFF</userinput>).
	The <computeroutput>Mode:</computeroutput> dropdown controls the
	routing of left/right signals (see table below), while the reference
	level of the signal at each port can be set with the
	<computeroutput>Ref. Level:</computeroutput> control.
      </para>
      <table xml:id="table.rdadmin.audio_port_mode_switch_settings" frame="all" pgwide="0">
	<title>Audio Port Mode Switch Settings</title>
	<tgroup cols="3" align="left" colsep="1" rowsep="1">
	  <colspec colname="Channels" colwidth="3.0*"/>
	  <colspec colname="Mode" colwidth="4.0*"/>
	  <colspec colname="Effect" colwidth="20.0*"/>
	  <thead>
	    <row><entry>Channels</entry><entry>Mode</entry><entry>Effect</entry>
	    </row>
	  </thead>
	  <tbody>
	    <row><entry>1</entry><entry>Normal</entry><entry>Left+Right sum to mono</entry></row>
	    <row><entry>1</entry><entry>Swap</entry><entry>Left+Right sum to mono</entry></row>
	    <row><entry>1</entry><entry>Left Only</entry><entry>Left only to mono</entry></row>
	    <row><entry>1</entry><entry>Right Only</entry><entry>Right only to mono</entry></row>
	    <row><entry>2</entry><entry>Normal</entry><entry>Stereo</entry></row>
	    <row><entry>2</entry><entry>Swap</entry><entry>Stereo, Left swapped with Right</entry></row>
	    <row><entry>2</entry><entry>Left Only</entry><entry>Left only, Right muted</entry></row>
	    <row><entry>2</entry><entry>Right Only</entry><entry>Right only, Left muted</entry></row>
	  </tbody>
	</tgroup>
      </table>
    </sect2>
    <sect2 xml:id="sect.rdadmin.manage_hosts.configuring_serial_ports">
      <title>Configuring Serial Ports</title>
      <para>
	To configure serial (COM) ports, touch the
	<computeroutput>Serial Ports</computeroutput> button to open the
	Edit Serial Ports dialog.
      </para>
      <para>
	<mediaobject>
	  <imageobject>
	    <imagedata align="center" fileref="rdadmin.edit_serial_ports_dialog.png" scale="50"/>
	  </imageobject>
	  <caption>
	    <para>The Edit Serial Ports Dialog</para>
	  </caption>
	</mediaobject>
      </para>
      <para>
	Select the desired Rivendell serial port to configure in the
	<computeroutput>Port ID:</computeroutput> dropdown. The
	<computeroutput>Enabled</computeroutput> box must be ticked before
	parameters can be set.
      </para>
    </sect2>
    <sect2 xml:id="sect.rdadmin.manage_hosts.viewing_audio_resources">
      <title>Viewing Audio Resources</title>
      <para>
	Touching the <computeroutput>Audio Resources</computeroutput> button
	will bring up the Audio Resource Information dialog, a read-only
	report detailing the current audio configuration and capabilities
	of Rivendell.
      </para>
      <para>
	<mediaobject>
	  <imageobject>
	    <imagedata align="center" fileref="rdadmin.audio_resource_information_dialog.png" scale="50"/>
	  </imageobject>
	  <caption>
	    <para>The Audio Resource Information Dialog</para>
	  </caption>
	</mediaobject>
      </para>
    </sect2>
    <sect2 xml:id="sect.rdadmin.manage_hosts.jack_integration">
      <title>JACK Integration</title>
      <para>
	The JACK Audio Connection Kit is an audio integration system that
	allows audio to be shared in real-time between multiple programs.
	More information can be found at
	<link xlink:href="http://jackaudio.org">http://jackaudio.org</link>.
      </para>
      <para>
	Rivendell's JACK connectivity is handed by the caed(8) daemon,
	and so both jackd(1) and caed(8) must operate under the same
	Linux user in order to be able to communicate. Under stock
	Rivendell, caed(8) is run as user 'root' [UID 0].
      </para>
      <para>
	To configure Rivendell's integration with JACK, touch the
	<computeroutput>JACK Settings</computeroutput> button to bring
	up the JACK Configuration dialog.
      </para>
      <para>
	<mediaobject>
	  <imageobject>
	    <imagedata align="center" fileref="rdadmin.jack_configuration_dialog.png" scale="50"/>
	  </imageobject>
	  <caption>
	    <para>The JACK Configuration Dialog</para>
	  </caption>
	</mediaobject>
      </para>
      <para>
	To have jackd(1) automatically [re]started whenever the Rivendell
	service is [re]started, tick the
	<computeroutput>Start JACK Server</computeroutput> box and enter
	the appropriate command-line invocation in the
	<computeroutput>JACK Command Line:</computeroutput> field. The name
	of the JACK instance to connect to [the &quot;--name&quot; option
	as provided to jackd(1)] can be entered in the
	<computeroutput>JACK Server Name:</computeroutput> field.
      </para>
      <para>
	Rivendell can also be configured to [re]start JACK clients
	automatically each time the Rivendell service is [re]started by
	adding the appropriate command-line invocation to the
	<computeroutput>JACK Clients to Start</computeroutput> list.
	<link linkend="sect.filepath_wildcards.definition">Filepath
	wildcards</link> can used in the command-line field.
	The clients will be run under the same user as that of the
	caed(8) daemon (user 'root' [UID 0] with sstock Rivendell).
	Port connections between JACK clients can be managed by use
	of the Jack Connect ['JC'] and Jack Disconnect ['JD'] RMLs.
	See <xref linkend="sect.rml.connect_jack_ports__jc_" /> and
	<xref linkend="sect.rml.disconnect_jack_ports__jd_" />.
      </para>
    </sect2>
    <sect2 xml:id="sect.rdadmin.managing_pypad_instances">
      <title>Managing PyPAD Instances</title>
      <para>
	PyPAD is a system that is built into Rivendell that
	allows processing and transmission of Program Associated Data [PAD]
	by means of scripts written in the popular Python programming
	language.
      </para>
      <note>
	See <xref linkend="sect.pad.pypad" /> for information
	on creating your own customized PyPAD scripts.
      </note>
      <para>
	To see the list of PyPAD scripts configured to run on
	the selected host, touch the 
	<computeroutput>PyPAD Instances</computeroutput> button to open
	the PyPAD Instances dialog.
      </para>
    <para>
      <mediaobject>
	<imageobject>
	  <imagedata align="center" fileref="rdadmin.pypad_instances_dialog.png" scale="60"/>
	</imageobject>
	<caption>
	  <para>The PyPAD Instances Dialog</para>
	</caption>
      </mediaobject>
    </para>
    <para>
      To add a new PyPAD instance, touch the
      <computeroutput>Add</computeroutput> button to open the Select PyPAD
      Script dialog.
    </para>
    <para>
      <mediaobject>
	<imageobject>
	  <imagedata align="center" fileref="rdadmin.select_pypad_script_dialog.png" scale="60"/>
	</imageobject>
	<caption>
	  <para>The Select PyPAD Script Dialog</para>
	</caption>
      </mediaobject>
    </para>
    <para>
      Select a script from the list and then touch the
      <computeroutput>Open</computeroutput> button to open the Edit PyPAD
      Instance dialog.
    </para>
    <para>
      <mediaobject>
	<imageobject>
	  <imagedata align="center" fileref="rdadmin.edit_pypad_instance_dialog.png" scale="60"/>
	</imageobject>
	<caption>
	  <para>The Select PyPAD Script Dialog</para>
	</caption>
      </mediaobject>
    </para>
    <para>
      The <computeroutput>Configuration</computeroutput> box contains lines of
      text that control the behavior of the script that's been selected.
      Lines that begin with a semicolon character [;] are comments; the rest
      are directives to the script.
    </para>
    <para>
      When finished editing the configuration, touch the
      <computeroutput>OK</computeroutput> button to save the configuration
      and start the script running. The green light adjacent to the entry
      for the script instance just edited will turn red briefly before
      turning back to green, indicating that the changes to the configuration
      have been applied to the active instance.
    </para>
    <note>
      It is not necessary to restart rdairplay(1) for the configuration
      changes to be made effective.
    </note>
    <sect3 xml:id="sect.rdadmin.moving_legacy_rlm_configurations_to_pypad">
      <title>Moving Legacy RLM Configurations to PyPAD</title>
      <para>
	Rivendell v2.x included a feature called &quot;Rivendell Loadable
	Modules&quot; (&quot;RLM&quot; for short) that included much of
	the functionality now provided by PyPAD. The following RLMs that
	shipped as part of Rivendell v2.x have been ported to PyPAD
	and shipped as part of Rivendell 3.x:
      </para>
      <simplelist>
	<member><computeroutput>rlm_ando</computeroutput></member>
	<member><computeroutput>rlm_filewrite</computeroutput></member>
	<member><computeroutput>rlm_icecast2</computeroutput></member>
	<member><computeroutput>rlm_inno712</computeroutput></member>
	<member><computeroutput>rlm_liqcomp</computeroutput></member>
	<member><computeroutput>rlm_live365</computeroutput></member>
	<member><computeroutput>rlm_serial</computeroutput></member>
	<member><computeroutput>rlm_shoutcast1</computeroutput></member>
	<member><computeroutput>rlm_spottrap</computeroutput></member>
	<member><computeroutput>rlm_tunein</computeroutput></member>
	<member><computeroutput>rlm_udp</computeroutput></member>
	<member><computeroutput>rlm_urlwrite</computeroutput></member>
	<member><computeroutput>rlm_walltime</computeroutput></member>
	<member><computeroutput>rlm_xds</computeroutput></member>
	<member><computeroutput>rlm_xmpad</computeroutput></member>
      </simplelist>
      <para>
	The formats of the configuration files used for these plug-ins are
	unchanged under PyPAD. Thus, a &quot;known good&quot; configuration
	file for an RLM can simply be copy/pasted into the
	<computeroutput>Configuration</computeroutput> box in the
	<computeroutput>Edit PyPAD Instance</computeroutput> dialog
	when setting up its replacement PyPAD script.
      </para>
      <caution>
	Be sure to remove completely the default &quot;sample&quot;
	configuration entries before copy/pasting in the
	&quot;known good&quot; ones!
      </caution>
      <sect4 xml:id="sect.rdadmin.moving_a_spinitron_rlm_configuration_to_pypad">
	<title>Moving a Spinitron RLM Configuration to PyPAD</title> 
	<para>
	  In addition to the above, some of the functionality of the
	  <computeroutput>rlm_spinitron_plus</computeroutput> RLM has
	  been ported into the
	  <computeroutput>pypad_spinitron</computeroutput> script.
	  Specifically, support for the deprecated Spinitron v1 interface
	  has been removed. Sites which have not yet transitioned to
	  Spinitron v2 will need to do so in order to use this script.
	  Sites which are already using Spinitron v2 can use their existing
	  RLM configuration unchanged.
	</para>
      </sect4>
    </sect3>
    </sect2>
  </sect1>
  <sect1 xml:id="sect.rdadmin.manage_system_settings">
    <title>Managing System Settings</title>
    <para>
      To manage system-wide settings --i.e. those settings that apply to
      <emphasis>all</emphasis> Rivendell hosts -- in RDAdmin, touch the
      <computeroutput>System Settings</computeroutput> button to open
      the System-Wide Settings dialog.
    </para>
    <para>
      <mediaobject>
	<imageobject>
	  <imagedata align="center" fileref="rdadmin.system_wide_settings_dialog.png" scale="60"/>
	</imageobject>
	<caption>
	  <para>The System-Wide Settings Dialog</para>
	</caption>
      </mediaobject>
    </para>
    <para>
      The <computeroutput>System Sample Rate:</computeroutput> dropdown sets
      the global sample rate to be used for Rivendell's audio store. This
      control should be set before ingesting any audio into a new Rivendell
      system and not altered thereafter.
    </para>
    <warning>
      <para>
	Changing this setting on a system with existing audio in the
	audio store may result in incorrect play-out of that audio!
      </para>
    </warning>
    <para>
      The <computeroutput>Allow Duplicate Cart Titles</computeroutput> box,
      if not ticked, will force all carts to have a unique title. If
      unticked, then ticking the
      <computeroutput>Auto-Correct Duplicate Cart Titles</computeroutput>
      box will cause duplicate cart titles to be automatically made unique
      when imported. The unique name is constructed by appending
      &quot;<userinput>[n]</userinput>&quot;, (where <userinput>n</userinput>
      is an integer) to the end of the title string.
    </para>
    <para>
      The <computeroutput>ISCI Cross Reference Path:</computeroutput> field
      takes the full path to the ISCI cross reference file used by the
      rdrepld(8) daemon (used only in conjunction with X-Digital copysplit
      replication).
    </para>
    <para>
      The <computeroutput>Maximum Reemote Post Length:</computeroutput> field
      sets the maximum length POST submission that will be processed by the
      RDXport service. It should seldom be necessary to change this value.
    </para>
    <para>
      The <computeroutput>Temporary Cart Group:</computeroutput> dropdown
      sets the Rivendell group to be used for storing temporary carts
      --e.g. carts used for processing direct file play-outs in
      rdcartslots(1).
    </para>
    <para>
      If the <computeroutput>Show User List in RDLogin</computeroutput> box
      is ticked, rdlogin(1) will require users to enter their user name as
      well as their password when logging in (instead of providing all possible
      user names in a dropdown).
    </para>
  </sect1>
  <sect1 xml:id="sect.rdadmin.manage_scheduler_codes">
    <title>Managing Scheduler Codes</title>
    <para>
      To manage scheduler codes, touch the
      <computeroutput>Scheduler Codes</computeroutput> button to bring up
      the Rivendell Scheduler Code dialog.
    </para>
    <para>
      <mediaobject>
	<imageobject>
	  <imagedata align="center" fileref="rdadmin.rivendell_scheduler_code_list_dialog.png" scale="60"/>
	</imageobject>
	<caption>
	  <para>The Rivendell Scheduler Codes List Dialog</para>
	</caption>
      </mediaobject>
    </para>
    <para>
      A new scheduler code can be added by touching the
      <computeroutput>Add</computeroutput> button to bring up the
      Scheduler Code dialog.
    </para>
    <para>
      <mediaobject>
	<imageobject>
	  <imagedata align="center" fileref="rdadmin.scheduler_code_dialog.png" scale="60"/>
	</imageobject>
	<caption>
	  <para>The Scheduler Code Dialog</para>
	</caption>
      </mediaobject>
    </para>
  </sect1>
  <sect1 xml:id="sect.rdadmin.manage_replicators">
    <title>Managing Replicators</title>
    <para>
      A <emphasis>replicator</emphasis> is a Rivendell service that provides
      the ability to move content automatically to different system on the
      basis of predefined rules. At present, Rivendell includes one such
      replicator, which can move audio material to an X-Digital satelite
      head-end system.
    </para>
    <para>
      To manage replicators, touch the
      <computeroutput>Manage Replicators</computeroutput> button to bring up
      the Rivendell Replicators dialog.
    </para>
    <para>
      <mediaobject>
	<imageobject>
	  <imagedata align="center" fileref="rdadmin.rivendell_replicators_dialog.png" scale="60"/>
	</imageobject>
	<caption>
	  <para>The Rivendell Replicators Dialog</para>
	</caption>
      </mediaobject>
    </para>
    <para>
      To add a new replicator, touch the <computeroutput>Add</computeroutput>
      button to bring up the Replicator dialog.
    </para>
    <para>
      <mediaobject>
	<imageobject>
	  <imagedata align="center" fileref="rdadmin.replicator_dialog.png" scale="60"/>
	</imageobject>
	<caption>
	  <para>The Replicator Dialog</para>
	</caption>
      </mediaobject>
    </para>
    <para>
      The <computeroutput>Name:</computeroutput> is a read-only field giving
      the name of the replicator.
    </para>
    <para>
      The <computeroutput>Description</computeroutput> is a free-form text
      string providing a description of the replicator.
    </para>
    <para>
      The <computeroutput>Type:</computeroutput> dropdown should set to the
      type of replicator. At present, only one type is supported,
      <userinput>Citidel X-Digital Portal</userinput>.
    </para>
    <para>
      The <computeroutput>Host System:</computeroutput> dropdown should be
      set to the name of the Rivendell Host upon which the rdrepld(8)
      daemon is run.
    </para>
    <para>
      The <computeroutput>Audio Upload URL:</computeroutput> should be set
      to the URL of the upload location for audio to be sent to the remote
      system. It may also be necessary to set the
      <computeroutput>Username:</computeroutput> and
      <computeroutput>Password:</computeroutput> fields if that remote
      system requires it.
    </para>
    <para>
      The <computeroutput>Upload Format:</computeroutput> should be set
      to provide the file and encoding format of the replicator uploads
      as required by the remote system. This can be done by touching the
      <computeroutput>Set</computeroutput> button. If the
      <computeroutput>Normalize</computeroutput> box is ticked, then
      audio will be peak-normalized to the level set by the
      <computeroutput>Level:</computeroutput> control before being
      uploaded.
    </para>
    <para>
      The <computeroutput>Active Groups</computeroutput> list should be
      populated with the names of the Rivendell Groups from which audio
      to be replicated should be taken.
    </para>
  </sect1>
  <sect1 xml:id="sect.rdadmin.backing_up_and_restoring_the_database">
    <title>Backing Up and Restoring the Database</title>
    <para>
      To make a backup copy of the database, touch the
      <computeroutput>Backup Database</computeroutput> button. You will
      be prompted with a dialog to allow you to choose a location to save
      the resulting backup.
    </para>
    <para>
      To restore a previous backup, touch the
      <computeroutput>Restore Database</computeroutput> button. You will
      be prompted with a dialog to allow you to choose a location whence
      to load the back file.
    </para>
    <warning>
      <para>
	Restoring a previous database will COMPLETELY OVERWRITE whatever
	database is currently loaded!
      </para>
    </warning>
  </sect1>
</chapter>
