mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-04-23 17:21:03 +02:00
5941 lines
209 KiB
XML
5941 lines
209 KiB
XML
<?xml version='1.0'?>
|
||
<book xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||
<info>
|
||
<title>Rivendell Radio Automation System</title>
|
||
<subtitle>Operations Guide</subtitle>
|
||
<author>
|
||
<personname>
|
||
<firstname>Fred</firstname><surname>Gleason</surname>
|
||
</personname>
|
||
</author>
|
||
<publisher>
|
||
<publishername>Paravel Systems LLC</publishername>
|
||
<address>
|
||
<street>41 West Lee Highway, Suite 59</street>
|
||
<city>Warrenton</city>
|
||
<state>VA</state>
|
||
<postcode>20186</postcode>
|
||
</address>
|
||
</publisher>
|
||
<orgname class="corporation">
|
||
|
||
</orgname>
|
||
<edition>
|
||
v1.0.0
|
||
</edition>
|
||
<copyright><year>-2003-2017</year><holder>Fred Gleason</holder></copyright>
|
||
<cover>
|
||
<mediaobject>
|
||
<imageobject>
|
||
<imagedata fileref="manual-outputdefault.png" scale="20"/>
|
||
</imageobject>
|
||
</mediaobject>
|
||
</cover>
|
||
</info>
|
||
<!--
|
||
<preface><title>Forward</title></preface>
|
||
-->
|
||
|
||
<chapter>
|
||
<title>System Overview</title>
|
||
<!--
|
||
<mediaobject>
|
||
<imageobject>
|
||
<imagedata fileref="manual-outputdefault.png" scale="30"/>
|
||
</imageobject>
|
||
</mediaobject>
|
||
-->
|
||
<sect1>
|
||
<title>Introducing Rivendell</title>
|
||
<para>
|
||
Rivendell is a digital audio content management and delivery system
|
||
that is targeted for use in professional radio broadcast environments.
|
||
It includes robust tools for the acquisition, organization, management
|
||
and play out of audio material from and to a diverse array of sources
|
||
and destinations. Support for a wide variety of external third party
|
||
hardware devices and software packages commonly used in the radio
|
||
industry is featured, including interfaces for:
|
||
</para>
|
||
<para>
|
||
<itemizedlist>
|
||
<listitem>Audio Routing Switchers</listitem>
|
||
<listitem>Satellite Downlink Receivers</listitem>
|
||
<listitem>Audio Mixing Consoles</listitem>
|
||
<listitem>Commercial Traffic and Music Scheduling Systems</listitem>
|
||
</itemizedlist>
|
||
</para>
|
||
<para>
|
||
Rivendell is made available under the terms of the GNU General Public
|
||
License version 2 (GPLv2), a copy of which can be found in Appendix A.
|
||
As such, it comes with <emphasis>absolutely no warranty</emphasis>,
|
||
not even the implied
|
||
warranties of merchantability or fitness for a particular purpose.
|
||
See the full text of the GPLv2 for details.
|
||
</para>
|
||
<para>
|
||
Rivendell has been designed and developed from the ground up to run
|
||
on the popular and highly stable <trademark>GNU/Linux</trademark>
|
||
operating system.
|
||
Selected tools (mostly having to do with log generation) have also
|
||
been ported to run in the Microsoft <trademark>Windows</trademark>
|
||
environment as well.
|
||
Full source code as well as binary installation packages for Windows
|
||
and select Linux distributions are available on line. Consult the
|
||
Rivendell Technical and Administration Guide for details.
|
||
</para>
|
||
<para>
|
||
Rivendell has been designed to be able to operate in a wide variety
|
||
of roles, ranging from single, self-contained workstations to large,
|
||
multi-station clusters consisting of multiple workstations and
|
||
centralized servers. Also included are redundancy and hot-standby
|
||
capabilities to allow for reliable operation even in the presence of
|
||
hardware faults. Details can be found in the Rivendell Technical
|
||
and Administration Guide.
|
||
</para>
|
||
<para>
|
||
Rivendell is implemented as a set of interactive tools or 'modules'
|
||
that collectively provide the complete functionality of the system.
|
||
Briefly, these modules and their functions are:
|
||
</para>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>RDAdmin</term>
|
||
<listitem>
|
||
System wide configuration
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>RDLibrary</term>
|
||
<listitem>
|
||
Library content management
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>RDCatch</term>
|
||
<listitem>
|
||
Automatic event scheduler
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>RDAirPlay</term>
|
||
<listitem>
|
||
On-air play out application
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>RDLogEdit</term>
|
||
<listitem>
|
||
Log editing and voicetracking tool
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>RDLogManager</term>
|
||
<listitem>
|
||
Automated log generation and interface utility
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>RDLogin</term>
|
||
<listitem>
|
||
Set the current user on a Rivendell host
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>RDCartSlots</term>
|
||
<listitem>
|
||
Emulate a traditional broadcast cart machine
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>RDPanel</term>
|
||
<listitem>
|
||
Large "cart wall" application
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>RDCastManager</term>
|
||
<listitem>
|
||
Podcast feed manager
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
The operation of each of these modules is explained in detail in the
|
||
chapters that follow. However, we first need to cover some basic
|
||
concepts common to all Rivendell modules.
|
||
</para>
|
||
<sect2>
|
||
<title>The Rivendell Security Paradigm</title>
|
||
<para>
|
||
All Rivendell modules make use of the following four classes of
|
||
system resources:
|
||
</para>
|
||
<para>
|
||
<itemizedlist>
|
||
<listitem>
|
||
Hosts
|
||
</listitem>
|
||
<listitem>
|
||
Users
|
||
</listitem>
|
||
<listitem>
|
||
Groups
|
||
</listitem>
|
||
<listitem>
|
||
Services
|
||
</listitem>
|
||
</itemizedlist>
|
||
</para>
|
||
<para>
|
||
We'll cover each of these concepts in turn.
|
||
</para>
|
||
<sect3>
|
||
<title>Hosts</title>
|
||
<para>
|
||
Every physical computer within a given network that is running
|
||
Rivendell software is referred to as a <emphasis>host</emphasis>.
|
||
Any host in a
|
||
Rivendell network can be individually configured and controlled
|
||
from any other host (provided the system administrator has enabled
|
||
this capability). Hosts can be used for a wide variety of
|
||
applications, including content ingestion and management,
|
||
automatic recording (sometimes referred to as netcatching),
|
||
on-air play out or log (sometimes also referred to as playlist)
|
||
generation. It is also possible for a single host to perform all
|
||
of these functions.
|
||
</para>
|
||
</sect3>
|
||
<sect3>
|
||
<title>Users</title>
|
||
<para>
|
||
Every host on a Rivendell network has one or more
|
||
<emphasis>users</emphasis> available
|
||
to it. In this context, a 'user' is merely a set of access
|
||
policies established by the system administrator that defines what
|
||
tasks a given host is or is not allowed to perform. Every host
|
||
has at least one user, called the <emphasis>default user</emphasis>.
|
||
As the name
|
||
suggests, this is the set of user policies that are loaded by
|
||
default when the system starts up. It is also possible to change
|
||
the user currently in use on a given host by running the RDLogin
|
||
module.
|
||
</para>
|
||
</sect3>
|
||
<sect3>
|
||
<title>Groups</title>
|
||
<para>
|
||
A Rivendell <emphasis>group</emphasis> is a system of categories
|
||
that is used by the
|
||
audio library to classify and organize the audio within the library.
|
||
Groups are a very powerful capability, and many operations within
|
||
Rivendell can be specified on the basis of group membership.
|
||
The actual classification scheme, including the number of available
|
||
groups and their names, is completely arbitrary so as to allow each
|
||
facility to tailor a schema that best fits its own operational
|
||
requirements. Designing and implementing the group schema is one
|
||
of the most important tasks facing the Rivendell system
|
||
administrator, as a well-designed schema can make long-term
|
||
maintenance and management of the system substantially easier
|
||
vis-a-vis a poorly thought out one. We will cover groups in
|
||
detail in the chapters devoted to the RDLibrary and RDAdmin modules.
|
||
</para>
|
||
</sect3>
|
||
<sect3>
|
||
<title>Services</title>
|
||
<para>
|
||
Every facility at which Rivendell is deployed is presumed to have
|
||
one or more ultimate destinations for which audio is intended.
|
||
These could be radio stations (e.g. WAVA), satellite uplink
|
||
channels, live Internet audio streams, or any mix of the above.
|
||
Each of these sorts of destinations is referred to in Rivendell
|
||
as a <emphasis>service</emphasis>, and certain parameters,
|
||
particularly as regards
|
||
audio play out and log (playlist) creation, can be configured on
|
||
the basis of what particular service is being referenced.
|
||
</para>
|
||
</sect3>
|
||
</sect2>
|
||
<sect2>
|
||
<title>The Rivendell Hardware Paradigm</title>
|
||
<para>
|
||
In addition to the core computer hardware (CPU, motherboard, etc),
|
||
each Rivendell host typically interacts with specialized hardware
|
||
required to accomplish the task at hand. Three main categories of
|
||
such 'special' hardware are of interest to us here, the three being
|
||
audio adapters, serial ports and GPIO/switcher devices. We'll
|
||
cover each below.
|
||
</para>
|
||
<sect3>
|
||
<title>Audio Adapters</title>
|
||
<para>
|
||
An <emphasis>audio adapter</emphasis> in Rivendell is simply a
|
||
device or facility for
|
||
getting audio into and/or out of a host on a realtime basis.
|
||
Most commonly this will be a sound card, although other, more
|
||
exotic possibilities (using TCP/IP networking or direct routing
|
||
to other audio applications) also exist. The three main classes
|
||
of audio adapters supported by Rivendell are:
|
||
</para>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Advanced Linux Sound Architecture (ALSA)</term>
|
||
<listitem>
|
||
<para>
|
||
The standard Linux sound card driver starting with the 2.6.x
|
||
kernel series, ALSA supports a huge array of commercially
|
||
available sound cards, ranging from entry level 'game' cards
|
||
to high-end cards aimed at professional audio uses.
|
||
More information, including a current list of supported
|
||
cards, is available at the ALSA web site,
|
||
http://www.alsa-project.org/.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>HPI Adapters</term>
|
||
<listitem>
|
||
<para>
|
||
These are high-performance sound cards manufactured by
|
||
AudioScience Corporation. Designed and built specifically
|
||
for broadcast automation applications, many feature advanced
|
||
capabilities (such as on-board MPEG codecs and AES3 i/o)
|
||
specially aimed for use in that setting. They are so-called
|
||
because Rivendell uses AudioScience's special 'HPI' driver
|
||
to access and control them. More information is available
|
||
at AudioScience's web site, http://www.audioscience.com/.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>JACK Audio Interconnect Kit</term>
|
||
<listitem>
|
||
<para>
|
||
JACK is not a particular set of hardware devices, but rather
|
||
an audio 'framework' that allows compliant applications to
|
||
share audio resources and route audio in realtime amongst
|
||
themselves. JACK is different from similar efforts within
|
||
the Linux realm in that it was designed from the ground up
|
||
for professional audio work, with particular focus upon
|
||
low-latency operation and synchronous execution of all
|
||
clients. More information can be found at the JACK web
|
||
site, http://jackit.sourceforge.net/.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
</sect3>
|
||
<sect3>
|
||
<title>Serial Ports</title>
|
||
<para>
|
||
Commonly known in the DOS/Windows world as 'COM ports',
|
||
<emphasis>serial ports</emphasis> are often used to communicate
|
||
with outboard gear, such as
|
||
satellite receivers and audio switchers. Up to eight serial ports
|
||
can be accessed simultaneously by each Rivendell host.
|
||
</para>
|
||
</sect3>
|
||
<sect3>
|
||
<title>GPIO/Switcher Devices</title>
|
||
<para>
|
||
Because these capabilities are often (although not always)
|
||
bundled together in the same device, Rivendell lumps GPIO and
|
||
switcher devices together within the same class.
|
||
<emphasis>GPIO</emphasis> stands
|
||
for 'General Purpose Input Output'. As the name implies, these
|
||
devices can be used to interface to a huge variety of outboard
|
||
equipment by means of control lines. <emphasis>GPI</emphasis>
|
||
(General Purpose Input)
|
||
lines can be used to sense changes in an outboard system's state
|
||
(and Rivendell programmed to take various actions on the basis of
|
||
that), while <emphasis>GPO</emphasis> (General Purpose Output)
|
||
lines can be used to
|
||
send commands to an outboard system. The actual physical
|
||
interfacing of GPIO devices is complex and generally beyond
|
||
the scope of this document. Readers are encouraged to consult
|
||
a good handbook on radio engineering for more information.
|
||
A current list of GPIO/Switcher devices supported by Rivendell
|
||
can be found in 'docs/GPIO.txt' file in the Rivendell sources.
|
||
</para>
|
||
</sect3>
|
||
</sect2>
|
||
</sect1>
|
||
</chapter>
|
||
|
||
<chapter>
|
||
<title>Managing the Current User with RDLogin</title>
|
||
<sect1>
|
||
<title>RDLogin</title>
|
||
<para>
|
||
Rivendell uses a sophisticated system of user privileges to keep track
|
||
of which users have permission to perform what operations.
|
||
These privileges are tracked by the system on the basis of
|
||
<emphasis>user accounts</emphasis>.
|
||
Creating user accounts and administering their permissions
|
||
are done in the RDAdmin module and are covered in the Rivendell
|
||
Technical and Administration Guide.
|
||
</para>
|
||
<para>
|
||
It's important to note that these user accounts are not the same
|
||
thing as the “Login Name” that is used to log into the computer system
|
||
itself. Rather, they exist and have meaning only within the Rivendell
|
||
system. For the rest of this discussion, when we talk about “users”,
|
||
it is these “Rivendell users” that we are referring to.
|
||
</para>
|
||
<para>
|
||
Each Rivendell host has a default user. As the name implies, this is
|
||
the user that is automatically logged in after the system is booted.
|
||
By default, the name of this user is “user”, but the system
|
||
administrator may have changed this to some other name.
|
||
</para>
|
||
<para>
|
||
For many sites, a single default user is all that is ever required.
|
||
For some sites however, particularly larger ones, it is desirable
|
||
to have multiple user accounts, each tailored to a particular person
|
||
or “role”, with privileges assigned appropriately. Such sites
|
||
require a means to log different users in and out of the system,
|
||
without interfering with any playout operations that may be ongoing
|
||
at the time. RDLogin is the module for doing this.
|
||
</para>
|
||
<para>
|
||
RDLogin will display a small window after being started, showing the
|
||
currently logged-in user (see Illustration 1). To change to a
|
||
different user, select the desired user name from the Username:
|
||
control, enter the correct password, and then touch the Set User
|
||
button. To “log out” of the system (in reality, just return to the
|
||
default user), simply touch the Default User button (no password is
|
||
required to set the default user). To exit RDLogin and do nothing,
|
||
simply touch the Cancel button.
|
||
</para>
|
||
</sect1>
|
||
</chapter>
|
||
|
||
<chapter>
|
||
<title>Content Management with RDLibrary</title>
|
||
<sect1>
|
||
<title>The Rivendell Library Structure and RDLibrary</title>
|
||
<sect2>
|
||
<title>Carts</title>
|
||
<para>
|
||
The Rivendell Library consists of a set of objects called
|
||
<emphasis>carts</emphasis>.
|
||
A cart is a data container that holds either one or more pieces
|
||
of audio (called an <emphasis>audio cart</emphasis>), or macro
|
||
commands to the system
|
||
(called a <emphasis>macro cart</emphasis>). The cart is the
|
||
fundamental schedule
|
||
building block in Rivendell, in that it is the smallest object or
|
||
'atom' that the outside world (like a traffic or music scheduler)
|
||
can see.
|
||
</para>
|
||
<para>
|
||
RDLibrary, upon startup, will show the current list of all carts
|
||
on the system, as in Illustration 2 below:
|
||
</para>
|
||
<para>
|
||
A number of important attributes of carts can be seen from this
|
||
illustration. First is the cart's number. Each cart in the Library
|
||
gets assigned a unique number when it is created. This number can
|
||
range between 000001 and 999999, and is the primary 'handle' by which
|
||
both Rivendell and external systems (like traffic or music schedulers)
|
||
refer to the cart. Very often, sites have specific rules concerning
|
||
which types of audio (commercials, promos, music, etc) and macros get
|
||
assigned which numbers. We'll cover this area in some detail when
|
||
we discuss groups.
|
||
</para>
|
||
<para>
|
||
Immediately to the left of the cart number is an icon indicating
|
||
the type of cart. Just to the right of the cart number is the
|
||
average length of the cart. Except in the case of where
|
||
timescaling is in use (in which case it will be indicated in
|
||
blue numerals), this value is calculated automatically by the system.
|
||
</para>
|
||
<para>
|
||
Next comes various columns showing information from the cart
|
||
label – Title, Artist, Client and Agency data, etc. This
|
||
information can be edited by opening RDLibrary's Edit Cart dialog
|
||
(Illustration 3), either by double-clicking on the desired cart
|
||
entry in the list, or by touching the desired cart entry and then
|
||
touching the Edit button. In either case, you should get a dialog
|
||
similar to that shown in Illustration 3.
|
||
</para>
|
||
<para>
|
||
This is how an audio cart looks when loaded into the Edit Cart dialog.
|
||
The upper half of the dialog is the cart label data. The meaning
|
||
of most of these fields should be fairly self-evident, but a few
|
||
call for special comment:
|
||
</para>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Enforce Length</term>
|
||
<listitem>
|
||
<para>
|
||
When checked, this indicates that timescaling should be
|
||
applied to this cart when it is played in RDAirPlay,
|
||
meaning that the cart will air at the length indicated by
|
||
the Forced Length field, rather than the native length of
|
||
the audio. Care is needed when implementing timescaling
|
||
within a facility, as there are limits to how much the
|
||
length can be altered, while only certain types of audio
|
||
adapters support it at all. See the Rivendell Technical
|
||
Guide for more information.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Group</term>
|
||
<listitem>
|
||
<para>
|
||
This is a pull down menu by which the group ownership for
|
||
the cart can be set. The system administrator configures
|
||
the list of available groups for each user in RDAdmin.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>User Defined</term>
|
||
<listitem>
|
||
<para>
|
||
As the name implies, this field has no dedicated meaning
|
||
to Rivendell itself, but is provided for each site to use
|
||
as is seen fit.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
The example in Illustration 3 shows an audio cart. As such, the
|
||
bottom half of the dialog displays the lists of cuts contained
|
||
within the cart.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>Cuts</title>
|
||
<para>
|
||
Each audio cart can contain one or more <emphasis>cuts</emphasis>.
|
||
A Rivendell cut is
|
||
an actual piece of audio, somewhat analogous to a 'track' on a CD.
|
||
Up to 999 such cuts can exist within a single cart. Each line in
|
||
the cut list contains information about the cut, including:
|
||
</para>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Description</term>
|
||
<listitem>
|
||
<para>
|
||
n arbitrary name, assignable by the user as an aid in keeping
|
||
track of the content, it is roughly analogous to the 'Title'
|
||
field in the cart label.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Length</term>
|
||
<listitem>
|
||
<para>
|
||
The actual, measured play out length of the cut audio.
|
||
This field is calculated automatically by the system.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Last Played</term>
|
||
<listitem>
|
||
<para>
|
||
he last date and time that the cut was aired by one of the
|
||
on-air modules. Useful for keeping track of stale inventory.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term># Of Plays</term>
|
||
<listitem>
|
||
<para>
|
||
The total number of times the cut has been aired by the
|
||
one of the on-air modules.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Origin</term>
|
||
<listitem>
|
||
<para>
|
||
The name of the host upon which the audio in the cut was last
|
||
recorded, along with the date and time.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Outcue</term>
|
||
<listitem>
|
||
<para>
|
||
A user settable field. This line shows up in the RDAirPlay
|
||
log when the cut is played.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<sect3>
|
||
<title>Multiple Cuts in a Cart</title>
|
||
<para>
|
||
What happens when more than one cut is placed into a cart? The
|
||
answer, in a word, is <emphasis>rotation</emphasis>. Rotation is
|
||
the ability to
|
||
schedule a single cart in a log, but to have that cart play out
|
||
different material at different times. This capability has a
|
||
myriad of uses. One of the simplest, common in commercial radio
|
||
facilities, is to allow multiple versions of a spot to be placed
|
||
into the system, while still allowing the traffic department to
|
||
have to track and schedule only one cart number. A more
|
||
sophisticated use involves use of the cut's
|
||
<emphasis>dayparting</emphasis> settings,
|
||
forcing different cuts to play based upon certain date/time
|
||
criteria, such as day of the week or time of day. Cut dayparting
|
||
is a very powerful feature in Rivendell, and is something we
|
||
will discuss shortly.
|
||
</para>
|
||
<para>
|
||
To edit the properties of a cut, either double-click its entry
|
||
in the cut list, or touch it once to highlight and then touch
|
||
the Cut Info/Record button. The Record Dialog (Illustration 4)
|
||
will now open up.
|
||
</para>
|
||
<para>
|
||
Roughly the upper third of the dialog is for editing the various
|
||
cut parameters, the middle section is for configuring the cut's
|
||
daypart settings, and the bottom third is a record machine that
|
||
can be used both to record new audio into the system and to
|
||
audition any recording already made.
|
||
</para>
|
||
</sect3>
|
||
<sect3>
|
||
<title>Cut Dayparting</title>
|
||
<para>
|
||
Each cut in Rivendell can be dayparted on the basis of three
|
||
parameters:
|
||
</para>
|
||
<para>
|
||
<itemizedlist>
|
||
<listitem>
|
||
Absolute Start and End Date-Time
|
||
</listitem>
|
||
<listitem>
|
||
Relative Start and End Time
|
||
</listitem>
|
||
<listitem>
|
||
Day of the Week
|
||
</listitem>
|
||
</itemizedlist>
|
||
</para>
|
||
<para>
|
||
By default, each newly created cut starts out with dayparting
|
||
disabled, meaning that it will be 'eligible to play' at all times.
|
||
By clicking the Enabled button in the Air Date/Time box, an
|
||
absolute start and end date for the cut can be entered, meaning
|
||
that the cut will be prevented from airing in the RDAirPlay module
|
||
at any time outside the range of those date-times. Likewise, by
|
||
selecting the Enabled button in the Daypart box, start and end
|
||
times (relative to the day the cut is to air) can be entered.
|
||
Cuts designated in this way will be allowed to air only within
|
||
the specified range of times. Finally, by selecting or clearing
|
||
the appropriate boxes in the Day of the Week box, a cut can be
|
||
designed to air only on certain days of the week.
|
||
</para>
|
||
<para>
|
||
All of the dayparting parameters can be used either singly or in
|
||
combination with each other. When combined, the resulting
|
||
'eligibility' is calculated as the logical AND of the applied
|
||
dayparting limits. For example, a cut with the 'Monday' box
|
||
cleared will refuse to air on Mondays, regardless of whether
|
||
any of the other daypart rules match.
|
||
</para>
|
||
<para>
|
||
It's important to remember that dayparting rules affect audio
|
||
play out only within the RDAirPlay module. You will still be
|
||
able to audition and play the audio without limitation in the
|
||
other Rivendell modules.
|
||
</para>
|
||
</sect3>
|
||
<sect3>
|
||
<title>Cart and Cut Color Coding</title>
|
||
<para>
|
||
Each cart or cut in RDLibrary is assigned a color to indicate
|
||
it's 'playability' for air, as follows:
|
||
</para>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>NO COLOR</term>
|
||
<listitem>
|
||
<para>
|
||
Event will play normally
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>CYAN</term>
|
||
<listitem>
|
||
<para>
|
||
Event will not play (cut datetime is in the future)
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>RED</term>
|
||
<listitem>
|
||
<para>
|
||
Event will not play (cut daytime has passed or lack of audio)
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>GREEN</term>
|
||
<listitem>
|
||
<para>
|
||
Event will play an Evergreen
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
It's important to remember that the color displayed for each
|
||
event indicates playability <emphasis>at the instant that the event
|
||
is being viewed</emphasis>.
|
||
</para>
|
||
</sect3>
|
||
<sect3>
|
||
<title>Recording and Auditioning a Cut in the Record Dialog</title>
|
||
<para>
|
||
The lower third of the Record Dialog is used both to audition and
|
||
record audio. To audition the cut, simply press the play button
|
||
(the one with the triangular symbol). The button should
|
||
illuminate, audio should show on the bar meter and start playing
|
||
immediately. The audio will play to completion, unless either
|
||
the stop button (square symbol) is pressed, or the Record Dialog
|
||
is closed.
|
||
</para>
|
||
<para>
|
||
To record new material into a cut, first ensure that the Channels
|
||
drop-down menu is set to record the appropriate number of channels,
|
||
then touch the record button (round symbol). If the cut contains
|
||
audio that was recorded previously, a warning box will pop up at
|
||
this point to inform you of this and to give you a chance to abort
|
||
the recording without erasing what was previously recorded. If
|
||
Yes is selected here, the previous recording will be overwritten
|
||
and no longer accessible. The record button should now be
|
||
illuminated steadily, while the play button will be flashing,
|
||
indicating that the record machine is in 'ready' mode. The bar
|
||
meter will also be active to indicate input levels, and this is
|
||
the point where you want to verify that your levels are correct,
|
||
with peaks just into the yellow area being optimal. Nothing is
|
||
actually being recorded just yet.
|
||
</para>
|
||
<para>
|
||
We have two options for actually starting the record machine.
|
||
We can start it manually by pressing the play button, at which
|
||
point the machine will immediately begin recording, or we can set
|
||
the Record Mode drop-down menu to the VOX (short for voice
|
||
activated) setting. When in VOX mode, the record machine will
|
||
start automatically as soon as it senses the presence of audio
|
||
at the input.
|
||
</para>
|
||
<para>
|
||
Once started, recording will continue until either the stop button
|
||
is pushed, or the maximum allowed length for a manual recording
|
||
(set by the system administrator) has been reached. Once stopped,
|
||
if the AutoTrim drop-down menu has been set to On, the Start and
|
||
End markers will be automatically set to the beginning and end of
|
||
detected audio within the cut. (We will discuss Markers in detail
|
||
when we get to the section on the Edit Markers dialog).
|
||
</para>
|
||
</sect3>
|
||
</sect2>
|
||
</sect1>
|
||
<sect1>
|
||
<title>Alternative Methods of Audio Ingestion</title>
|
||
<para>
|
||
In addition to manually recording material in realtime, RDLibrary
|
||
supports two alternative methods for audio ingestion:
|
||
</para>
|
||
<para>
|
||
<itemizedlist>
|
||
<listitem>
|
||
Importing from a File
|
||
</listitem>
|
||
<listitem>
|
||
Ripping from a CD
|
||
</listitem>
|
||
</itemizedlist>
|
||
</para>
|
||
<sect2>
|
||
<title>Importing Audio from a File</title>
|
||
<para>
|
||
To import audio from a file directly into a cut, we start by
|
||
opening the cut's parent cart in the Edit Cart Dialog. Next,
|
||
touch the cut's entry in the cut list and then touch the
|
||
<computeroutput>Import/Export</computeroutput> button to open the
|
||
Import/Export Audio Dialog (Illustration 5).
|
||
</para>
|
||
<para>
|
||
Select the file you wish to import, either by entering the path
|
||
and filename to it in the <computeroutput>Filename</computeroutput>
|
||
field or by clicking the <computeroutput>Select</computeroutput>
|
||
button to open a file browsing dialog. Rivendell is capable of
|
||
importing the following types of audio files:
|
||
</para>
|
||
<para>
|
||
<itemizedlist>
|
||
<listitem>
|
||
Microsoft WAV (*.wav) – PCM16, PCM24 and MPEG are supported
|
||
</listitem>
|
||
<listitem>
|
||
MPEG (*.mp1, *.mp2, *.mp3)
|
||
</listitem>
|
||
<listitem>
|
||
OggVorbis (*.ogg)
|
||
</listitem>
|
||
<listitem>
|
||
Free Lossless Audio Codec [FLAC] (*.flac)
|
||
</listitem>
|
||
</itemizedlist>
|
||
</para>
|
||
<para>
|
||
Next, set the <computeroutput>Channels</computeroutput> drop-down
|
||
menu to the appropriate number of
|
||
channels. You may also wish to adjust the
|
||
<computeroutput>Normalize</computeroutput> or
|
||
<computeroutput>Autotrim</computeroutput>
|
||
controls, although these will normally be set to reasonable default
|
||
values by the system administrator and should seldom have to be
|
||
altered. If <computeroutput>Normalize</computeroutput> is selected,
|
||
then the imported audio will
|
||
be peak normalized to the level indicated. The
|
||
<computeroutput>Autotrim</computeroutput> does the
|
||
same thing as in the Record Dialog (see section 2.0.1.2, 'Recording
|
||
and Auditioning a Cut in the Record Dialog' above for details).
|
||
</para>
|
||
<para>
|
||
Finally, touch the <computeroutput>Import</computeroutput> button.
|
||
A progress bar will indicate
|
||
percentage completion of the import, followed by a popup box to
|
||
announce completion. The Import Audio Dialog will automatically
|
||
close after acknowledging completion. The audio is now imported,
|
||
and can now be auditioned and otherwise processed in the usual way.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>Ripping Audio from a CD Track</title>
|
||
<para>
|
||
To rip audio directly off of a CD into a cut, we again start by
|
||
opening the cut's parent cart in the Edit Cart Dialog. Next,
|
||
select the cut's by touching the cut's entry in the cut list,
|
||
and then touch the <computeroutput>Rip</computeroutput> button to open the Rip CD Dialog
|
||
(Illustration 6).
|
||
</para>
|
||
<para>
|
||
Load a CD into the CD drive. After a few seconds, list of tracks
|
||
should appear in the Tracks area. If the system administrator has
|
||
enabled the FreeDB CD Lookup Service, the names of the various
|
||
tracks may appear as well.
|
||
</para>
|
||
<para>
|
||
Set the <computeroutput>Channels</computeroutput>,
|
||
<computeroutput>Normalize</computeroutput> and
|
||
<computeroutput>Autotrim</computeroutput> controls appropriately (see
|
||
section 2.1.0 for more details on using the
|
||
<computeroutput>Normalize</computeroutput> and
|
||
<computeroutput>Autotrim</computeroutput>
|
||
controls). Next, touch the track you wish to rip and then press
|
||
the <computeroutput>Rip Track</computeroutput> button. The track will
|
||
now be ripped into the cut,
|
||
with a progress bar keeping you informed of progress. When the
|
||
rip is complete, a message box will pop up to inform you of this.
|
||
</para>
|
||
<para>
|
||
If FreeDB data was found for the CD, you can have the FreeDB track,
|
||
artist and album names be automatically placed on the cart label
|
||
for the cart by checking
|
||
<computeroutput>Apply FreeDB Values to Cart</computeroutput> before
|
||
closing the Dialog.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>Ripping Multiple CD Tracks at a Time</title>
|
||
<para>
|
||
Sometimes, when transferring multiple audio tracks from CD,
|
||
it's more convenient to be able to set up the entire transfer at
|
||
once and then let the rip run in a 'batch' mode. RDLibrary is
|
||
capable of ripping audio in this manner as well. To do this, click
|
||
the <computeroutput>Rip CD</computeroutput> button near the bottom of
|
||
the main RDLibrary screen,
|
||
bringing up the Rip Disk Dialog (Illustration 7).
|
||
</para>
|
||
<para>
|
||
This dialog is similar in many ways to the Rip CD Dialog described
|
||
above, except that each track can be assigned to transfer to a
|
||
different cut by double clicking on its listing, or by touching
|
||
the listing and then the Set Cut button, bringing up the Select
|
||
Cut Dialog (see Illustration 8).
|
||
</para>
|
||
<para>
|
||
The destination cut is selected by first choosing the cart from the
|
||
left-hand pane, followed by the desired cut within that cart on the
|
||
right-hand pane. The complete set of library filtering tools are
|
||
available to you here – see section 2.2, 'Navigating the Audio
|
||
Library' for details on their function, just as in the main
|
||
RDLibrary screen.
|
||
</para>
|
||
<para>
|
||
Once all of the desired tracks have been assigned to cuts, be sure
|
||
that the <computeroutput>Normalize</computeroutput>,
|
||
<computeroutput>Autotrim</computeroutput>,
|
||
<computeroutput>Channels</computeroutput> and
|
||
<computeroutput>Apply FreeDB Values to Cart</computeroutput>
|
||
controls have been set as desired, then click the
|
||
<computeroutput>Rip Disk</computeroutput>
|
||
button. A set of progress bars will keep you informed of the
|
||
progress of each track, as well as overall progress. When, the
|
||
rip is finished, a message box will let you know.
|
||
</para>
|
||
</sect2>
|
||
</sect1>
|
||
<sect1>
|
||
<title>Macro Carts</title>
|
||
<para>
|
||
A macro cart is a cart that contains one or more commands written in
|
||
Rivendell Macro Language (or 'RML' for short). The Edit Cart dialog
|
||
for a macro cart is similar in many ways to that for an audio cart
|
||
with the exception of the lower half, which contains a list of RML
|
||
commands to be executed rather than a list of cuts (see Illustration
|
||
9). (NOTE: for a complete description of Rivendell Macro Language,
|
||
including a breakdown of available commands, see Chapter Nine).
|
||
</para>
|
||
<para>
|
||
To add a new line of RML, select the desired location in the list
|
||
and touch the <computeroutput>Add button</computeroutput>.
|
||
Similarly, a line can be deleted by
|
||
selecting it and then touching the
|
||
<computeroutput>Delete</computeroutput> button, or modified by
|
||
touching the <computeroutput>Edit</computeroutput> button. The RML
|
||
can be tested, eight line-by-line
|
||
or as a whole by touching the <computeroutput>Run Line</computeroutput>
|
||
or <computeroutput>Run Cart</computeroutput> button
|
||
respectively. It is also possible to
|
||
<computeroutput>Copy</computeroutput> and
|
||
<computeroutput>Paste</computeroutput> individual
|
||
lines both within a given cart or between carts.
|
||
</para>
|
||
</sect1>
|
||
<sect1>
|
||
<title>Navigating the Audio Library</title>
|
||
<para>
|
||
The uppermost section of RDLibrary's main window contains tools
|
||
designed to allow for fast searching of the entire audio library,
|
||
making locating a particular piece of audio easy even in a library
|
||
containing thousands of carts. It's possible to control what carts
|
||
are listed, as well as how they are sorted.
|
||
</para>
|
||
<sect2>
|
||
<title>Changing the Cart Sort Order</title>
|
||
<para>
|
||
The order in which carts are displayed in the cart list can be
|
||
changed by simply clicking on the header of the column by which
|
||
you want them sorted by. By default, the carts are sorted by Cart
|
||
Number. To instead sort them alphabetically by Title, simply click
|
||
the <computeroutput>TITLE</computeroutput> header once.
|
||
To sort them by Title in reverse –i.e.
|
||
from 'Z' to 'A' – click the <computeroutput>TITLE</computeroutput>
|
||
header once again. Clicking the
|
||
<computeroutput>TITLE</computeroutput> header a third time restores
|
||
the sort to normal 'A' to 'Z' again. And so on for all of the columns
|
||
in the cart list – it's
|
||
possible to sort the Library by
|
||
<computeroutput>ARTIST</computeroutput>,
|
||
<computeroutput>LENGTH</computeroutput>, or any other
|
||
parameter shown in the cart list.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>Selecting Carts by the Filter Field</title>
|
||
<para>
|
||
Very often, one will want to find a cart or set of carts whose
|
||
label(s) contains a particular word or phrase. It's possible to
|
||
narrow the list of displayed carts to this set by simply entering
|
||
the desired word or phrase into the
|
||
<computeroutput>Filter</computeroutput> field at the top of the
|
||
main RDLibrary screen. The full list can be restored by clearing
|
||
the <computeroutput>Filter</computeroutput> field or by clicking
|
||
the Clear button.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>Selecting Carts by Group</title>
|
||
<para>
|
||
It's possible to limit the list of carts to only those in a
|
||
particular group by setting the <computeroutput>Group</computeroutput>
|
||
drop-down menu to the
|
||
desired group name.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>Selecting Carts by Type</title>
|
||
<para>
|
||
You can tell RDLibrary what type of carts to list by checking the
|
||
<computeroutput>Show Audio Carts</computeroutput> and
|
||
<computeroutput>Show Macro Carts</computeroutput> boxes. Clearing
|
||
both boxes
|
||
obviously results in no carts at all being displayed.
|
||
</para>
|
||
<para>
|
||
It's also possible to combine all four of the above search and
|
||
sorting methods.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>Selecting and Opening Carts</title>
|
||
<para>
|
||
Once the desired cart has been located on the cart list, load it
|
||
into the Edit Cart Dialog (Illustration 3) by either double
|
||
clicking its list entry, or by touching its list entry and then
|
||
touching the <computeroutput>Edit</computeroutput> button.
|
||
</para>
|
||
</sect2>
|
||
</sect1>
|
||
<sect1>
|
||
<title>Library Maintenance</title>
|
||
<sect2>
|
||
<title>Editing Markers</title>
|
||
<para>
|
||
Rivendell uses a system of cue points within audio cuts, referred
|
||
to as <emphasis>markers</emphasis>. Markers can be used to specify
|
||
a number of
|
||
parameters for a piece of audio.
|
||
Consult <xref linkend="marker_types"/> to see what
|
||
markers are available, their purpose and their corresponding color.
|
||
</para>
|
||
<para>
|
||
Markers are set in the Edit Markers Dialog (see Illustration 10).
|
||
To access the Dialog, open an audio cart, select the cut to open
|
||
on the cut list and then touch the
|
||
<computeroutput>Edit</computeroutput> button.
|
||
</para>
|
||
<para>
|
||
The Dialog is divided into three areas: the waveform area in the
|
||
upper half, consisting of the waveform display and
|
||
<computeroutput>Amplitude</computeroutput> and
|
||
<computeroutput>Time</computeroutput> buttons; the transport
|
||
controls area in the center, consisting
|
||
of <computeroutput>Start</computeroutput>,
|
||
<computeroutput>Pause</computeroutput>,
|
||
<computeroutput>Stop</computeroutput> and
|
||
<computeroutput>Loop</computeroutput> buttons along with an
|
||
audio meter;
|
||
and the marker button area in the lower third of the window,
|
||
consisting of controls for selecting and positioning markers.
|
||
</para>
|
||
<para>
|
||
It's possible to 'zoom-in' on the waveform in various ways by
|
||
clicking the <computeroutput>Amplitude</computeroutput>
|
||
and <computeroutput>Time</computeroutput> buttons.
|
||
By default, the waveform
|
||
is displayed fully 'zoomed-out', thus showing the entire length of
|
||
the audio cut. The <computeroutput>GoTo</computeroutput> buttons
|
||
can be used to jump directly to
|
||
the current play out cursor position, start or end of the waveform.
|
||
</para>
|
||
<para>
|
||
Audio can be played one of two ways: either by clicking on the
|
||
waveform to indicate where play out should start and then clicking
|
||
the left-hand <computeroutput>Play</computeroutput> button,
|
||
causing play out to start from the
|
||
selected position, or by clicking the right-hand
|
||
<computeroutput>Play</computeroutput> button, which
|
||
will cause play out to start from the Start Marker (just as it
|
||
would in RDAirPlay). Clicking the
|
||
<computeroutput>Pause</computeroutput> button while playing will
|
||
cause audio to stop and the play out cursor (a thin vertical black
|
||
line in the waveform area) to freeze at its current position, while
|
||
pressing the <computeroutput>Stop</computeroutput> button will stop
|
||
the audio while resetting the
|
||
play out cursor to the position it was in when
|
||
<computeroutput>Play</computeroutput> was started.
|
||
Clicking the <computeroutput>Loop</computeroutput> button will
|
||
cause the audio to play out
|
||
continuously, looping from end back to start, until either the
|
||
<computeroutput>Stop</computeroutput>,
|
||
<computeroutput>Pause</computeroutput>,
|
||
<computeroutput>Save</computeroutput> or
|
||
<computeroutput>Cancel</computeroutput> buttons are clicked.
|
||
</para>
|
||
<para>
|
||
To set a marker, click on the corresponding marker button and then
|
||
left-click on the waveform area to indicate where on the audio
|
||
the marker should be placed. (NOTE: With the exception of the
|
||
FadeUp and FadeDown markers, all markers in Rivendell are assigned
|
||
in pairs. For example, placing a TalkStart marker will also cause
|
||
a TalkEnd marker to be placed.) Markers that have already been
|
||
placed can be moved by selecting the appropriate marker button and
|
||
then dragging the marker to the desired location. It's also possible
|
||
to specify the position of a marker in the form of hh:mm:ss.s
|
||
(relative to time after the Start marker) by entering the desired
|
||
value next to a selected marker button. It is also possible to
|
||
remove a set of markers that have already been placed, either by
|
||
accessing the marker menu by doing a right-click on the waveform
|
||
display, or by touching the
|
||
<computeroutput>Remove Marker</computeroutput> button and then touch
|
||
the marker button corresponding to the marker to be removed.
|
||
(NOTE: the exceptions to this are the Start / End markers, which
|
||
are always present and hence cannot be removed.)
|
||
</para>
|
||
<table xml:id="marker_types" frame="all">
|
||
<title>Rivendell Marker Types</title>
|
||
<tgroup cols="3" align="left" colsep="1" rowsep="1">
|
||
<colspec colname="Marker Type" />
|
||
<colspec colname="Function" />
|
||
<colspec colname="Color" />
|
||
<thead>
|
||
<row>
|
||
<entry>
|
||
Marker Type
|
||
</entry>
|
||
<entry>
|
||
Function
|
||
</entry>
|
||
<entry>
|
||
Color
|
||
</entry>
|
||
</row>
|
||
</thead>
|
||
<tbody>
|
||
<row>
|
||
<entry>
|
||
Start / Stop
|
||
</entry>
|
||
<entry>
|
||
Indicates start and end points of audio.
|
||
</entry>
|
||
<entry>
|
||
RED
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>
|
||
TalkStart / Talk Stop
|
||
</entry>
|
||
<entry>
|
||
Indicates point to start and stop the Talk Counter in RDAirPlay.
|
||
</entry>
|
||
<entry>
|
||
BLUE
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>
|
||
SegueStart / SegueEnd
|
||
</entry>
|
||
<entry>
|
||
Indicates the start and end of the audio overlap during
|
||
Segue transitions in RDAirPlay.
|
||
</entry>
|
||
<entry>
|
||
CYAN
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>
|
||
HookStart / HookEnd
|
||
</entry>
|
||
<entry>
|
||
Indicates "highlighted" audio, used by button
|
||
panels and RDCartSlots when placed in Hook Mode.
|
||
</entry>
|
||
<entry>
|
||
VIOLET
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>
|
||
FadeUp
|
||
</entry>
|
||
<entry>
|
||
Indicates the point at which audio should be faded up to
|
||
full level after starting in RDAirPlay.
|
||
</entry>
|
||
<entry>
|
||
YELLOW
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>
|
||
FadeDown
|
||
</entry>
|
||
<entry>
|
||
Indicates the point at which audio should start fading
|
||
down to off before ending in RDAirPlay.
|
||
</entry>
|
||
<entry>
|
||
YELLOW
|
||
</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</table>
|
||
<para>
|
||
As an aid for accurately setting the Start and End markers, it's
|
||
possible to use the <computeroutput>Trim Start</computeroutput>
|
||
and <computeroutput>Trim End</computeroutput> buttons to automatically
|
||
set the markers to the first and last instances of the level
|
||
specified by the <computeroutput>Threshold</computeroutput> field,
|
||
respectively.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>Copying and Pasting Audio from Cut to Cut</title>
|
||
<para>
|
||
It's possible to make copies of existing an audio cut on the system
|
||
by opening up the cut's parent cart in the Edit Cart Dialog,
|
||
selecting it on the cut list and clicking the
|
||
<computeroutput>Copy</computeroutput> button. To
|
||
paste the copied audio, simply select the desired destination
|
||
cut (within the same cart or a different one) and press
|
||
<computeroutput>Paste</computeroutput>.
|
||
</para>
|
||
</sect2>
|
||
</sect1>
|
||
<sect1>
|
||
<title>Generating Library Reports</title>
|
||
<para>
|
||
Various Library reports can be generated by touching the
|
||
<computeroutput>Reports</computeroutput>
|
||
button on the main RDLibrary screen and then selecting the desired
|
||
report and touching the <computeroutput>Generate</computeroutput>
|
||
button. The following reports are available:
|
||
</para>
|
||
<sect2>
|
||
<title>The Cart Report</title>
|
||
<para>
|
||
The cart report consists of a list of all selected carts on the
|
||
system, with their attributes.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>The Cut Report</title>
|
||
<para>
|
||
The cut report consists of a list of all cuts contained by the
|
||
selected carts on the system, with their attributes.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>The Cart Data Dump (fixed width)</title>
|
||
<para>
|
||
The fixed-width cart data dump is a special type of report that
|
||
consists of column-aligned data elements, one line per cut for the
|
||
selected
|
||
carts on the system. It is intended for use where a 'dump' of
|
||
available carts in the system is desired for import into an
|
||
external system (such as a music scheduling system).
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>The Cart Data Dump (CSV)</title>
|
||
<para>
|
||
The CSV cart data dump is a special type of report that
|
||
consists of CSV formatted data elements, one line per cut for the
|
||
selected
|
||
carts on the system. It is intended for use where a 'dump' of
|
||
available carts in the system is desired for import into an
|
||
external system (such as a music scheduling system).
|
||
</para>
|
||
</sect2>
|
||
</sect1>
|
||
</chapter>
|
||
|
||
<chapter>
|
||
<title>Automating Tasks with RDCatch</title>
|
||
<sect1>
|
||
<title>Choosing the Correct Automation Tool</title>
|
||
<para>
|
||
Rivendell includes two modules specially optimized for performing
|
||
automatic operations: The RDCatch and RDAirPlay modules. The two
|
||
modules take radically different approaches in how they go about
|
||
organizing and controlling operations, so a few words regarding
|
||
each may be in order here.
|
||
</para>
|
||
<para>
|
||
RDCatch is aimed at executing actions on the basis of a strict
|
||
time-based schedule, referred to as an event list. Each action
|
||
(which can be a recording, a play out, an up- or download, a macro
|
||
execution or an operation on an audio switcher device) executes on
|
||
the basis of its scheduled time in the event list, independently of
|
||
all other actions. As such, RDCatch is often best suited for use in
|
||
settings such as network head end operations or 'auxiliary' roles at
|
||
broadcast stations, where the transitions between events are
|
||
generally not an important part of the presentation.
|
||
</para>
|
||
<para>
|
||
RDAirPlay takes a very different approach, in that most events are
|
||
organized into one or more playlists or logs. A Rivendell log is a
|
||
list of one or more carts, organized in chronological order. As the
|
||
name implies, RDAirPlay is optimized for use in situations where the
|
||
transitions between the various program elements are a key part of
|
||
the delivery and presentation of the content, such as in live air
|
||
play environments.
|
||
</para>
|
||
<para>
|
||
Of course, it's entirely possible to use both modules, even together
|
||
on the same machine at the same time – the Linux OS makes for a very
|
||
robust and capable multitasking system.
|
||
</para>
|
||
</sect1>
|
||
<sect1>
|
||
<title>The RDCatch Main Window</title>
|
||
<para>
|
||
After starting up RDCatch, you should see the main RDCatch window,
|
||
looking something like Illustration 11. The window consists of four
|
||
areas: the record / play out decks at the top, the filter areas just
|
||
below the decks, the events list and the audition buttons and other
|
||
buttons at the bottom. We'll cover each of these in turn.
|
||
</para>
|
||
<sect2>
|
||
<title>The Record / Play Out Deck Area</title>
|
||
<para>
|
||
If the system administrator has configured one or more RDCatch
|
||
record or play out decks, they will be visible at the top of the
|
||
RDCatch main window. A record deck is a virtual 'recorder' that
|
||
can be used to make automated recordings, while a play out deck
|
||
can be used to automatically play out audio. It does not matter
|
||
on which particular host a particular deck 'resides' – all
|
||
Rivendell decks throughout the system are visible in RDCatch,
|
||
regardless of which host it is run upon.
|
||
</para>
|
||
<para>
|
||
Starting at the left-hand edge of each deck, there is the deck's
|
||
name, consisting of the name of the deck's host machine followed
|
||
by a number and a letter, an 'R' to indicate a record deck and a
|
||
'P' to indicate a play out deck. Next, for record decks, there is
|
||
a MON button, used to monitor the audio present at the deck input,
|
||
followed by an ABORT button, used to manually stop an event
|
||
running in the deck. A description of the currently running event
|
||
next appears (this area will be blank if no event is currently
|
||
active), followed by the deck's status, which could be any of the
|
||
values shown in Table 2.
|
||
</para>
|
||
<table xml:id="rdcatch_event_states" frame="all">
|
||
<title>RDCatch Event States</title>
|
||
<tgroup cols="2" align="left" colsep="1" rowsep="1">
|
||
<colspec colname="Status" />
|
||
<colspec colname="Meaning" />
|
||
<thead>
|
||
<row>
|
||
<entry>
|
||
Status
|
||
</entry>
|
||
<entry>
|
||
Meaning
|
||
</entry>
|
||
</row>
|
||
</thead>
|
||
<tbody>
|
||
<row>
|
||
<entry>
|
||
IDLE
|
||
</entry>
|
||
<entry>
|
||
The deck is available for events
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>
|
||
READY
|
||
</entry>
|
||
<entry>
|
||
The deck has started monitoring audio but the transport is
|
||
not yet rolling (record decks only).
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>
|
||
WAITING
|
||
</entry>
|
||
<entry>
|
||
The deck is waiting for a GPI event (record decks only)
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>
|
||
RECORDING
|
||
</entry>
|
||
<entry>
|
||
The deck is recording (record decks only)
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>
|
||
PLAYING
|
||
</entry>
|
||
<entry>
|
||
The deck is playing out (play out decks only)
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>
|
||
OFFLINE
|
||
</entry>
|
||
<entry>
|
||
The deck is configured but not available
|
||
</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</table>
|
||
<para>
|
||
Finally, each deck has an audio meter on its right-hand end, used
|
||
to verify audio levels in realtime.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>The Filter Area</title>
|
||
<para>
|
||
Immediately below the decks is the filter area, consisting of the
|
||
Show Only Active Events, Show Only Today's Events and Show DayOfWeek
|
||
controls. These controls are used to select which events will be
|
||
visible in the events list area immediately below.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>The Event List</title>
|
||
<para>
|
||
The event list is a system wide list of all events to be executed
|
||
by RDCatch on all of the various hosts on the Rivendell network,
|
||
with each event occupying a single line. The status of each event
|
||
is indicated by its background color, as shown in Table 3.
|
||
</para>
|
||
<table xml:id="rdcatch_event_colors" frame="all">
|
||
<title>RDCatch Event State Colors</title>
|
||
<tgroup cols="2" align="left" colsep="1" rowsep="1">
|
||
<colspec colname="Color" />
|
||
<colspec colname="Meaning" />
|
||
<thead>
|
||
<row>
|
||
<entry>
|
||
Color
|
||
</entry>
|
||
<entry>
|
||
Meaning
|
||
</entry>
|
||
</row>
|
||
</thead>
|
||
<tbody>
|
||
<row>
|
||
<entry>
|
||
YELLOW
|
||
</entry>
|
||
<entry>
|
||
The event is next to be executed.
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>
|
||
GREEN
|
||
</entry>
|
||
<entry>
|
||
The event is active.
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>
|
||
CYAN
|
||
</entry>
|
||
<entry>
|
||
The event is in the READY state.
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>
|
||
VIOLET
|
||
</entry>
|
||
<entry>
|
||
The event is in the WAITING state.
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>
|
||
RED/PINK
|
||
</entry>
|
||
<entry>
|
||
The event is reporting an error.
|
||
</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</table>
|
||
<para>
|
||
Each entry in the event list starts with an icon that indicates
|
||
the type of the event, as shown in Table 4.
|
||
</para>
|
||
<table xml:id="rdcatch_event_icons" frame="all">
|
||
<title>RDCatch Event Icons</title>
|
||
<tgroup cols="2" align="left" colsep="1" rowsep="1">
|
||
<colspec colname="Color" />
|
||
<colspec colname="Meaning" />
|
||
<tbody>
|
||
<row>
|
||
<entry>
|
||
[RECORD_ICON]
|
||
</entry>
|
||
<entry>
|
||
Record Event
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>
|
||
[PLAYOUT ICON]
|
||
</entry>
|
||
<entry>
|
||
Play Out Event
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>
|
||
[SWITCH ICON]
|
||
</entry>
|
||
<entry>
|
||
Switch Event
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>
|
||
[MACRO ICON]
|
||
</entry>
|
||
<entry>
|
||
Macro Event
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>
|
||
[UPLOAD ICON]
|
||
</entry>
|
||
<entry>
|
||
Upload Event
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>
|
||
[DOWNLOAD ICON]
|
||
</entry>
|
||
<entry>
|
||
Download Event
|
||
</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</table>
|
||
<para>
|
||
Next on each line comes the description (settable by the user) and
|
||
location for the event, the location being the name of the host/deck
|
||
where the event will run. Then, comes the start and end parameters.
|
||
These time-based parameters come in one of three different forms:
|
||
a hard time, which is simply an absolute time (in twenty-four hour
|
||
'military' format), a length (in HH:MM format, relative to an
|
||
earlier start time), or a GPI start. The GPI parameters can be
|
||
somewhat involved. They are specified in the following format:
|
||
</para>
|
||
<para>
|
||
Gpi: <start-time>,<end-time>,<gpi-num>,<wait-time>
|
||
</para>
|
||
<para>
|
||
Where:
|
||
</para>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term><start-time></term>
|
||
<listitem>
|
||
<para>
|
||
The time, in HH:MM:SS format, when RDCatch will start looking
|
||
for a GPI event (also sometimes referred to as the window
|
||
start time).
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><end-time></term>
|
||
<listitem>
|
||
<para>
|
||
The time, in HH:MM:SS format, when RDCatch will stop looking
|
||
for a GPI event (also sometime referred to as the window end
|
||
time).
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><gpi-num></term>
|
||
<listitem>
|
||
<para>
|
||
The number of the GPI event to wait for, in the format
|
||
MATRIX:LINE. We will deal with GPI matrix and line numbers
|
||
in detail when we cover RDAdmin.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><wait-time></term>
|
||
<listitem>
|
||
<para>
|
||
The amount of time to wait, in MM:SS format, between the
|
||
reception of the GPI event and the actual start of the event
|
||
(used only for Start parameters).
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
For example, the start parameter 'Gpi: 14:00:00,14:05:59,0:1,01:00'
|
||
has a window start time of 14:00:00 [2:00:00 PM], a window end time
|
||
of 14:05:59, looks for a GPI event on line 0:1 and will wait one
|
||
minute [01:00] after receiving the GPI before starting the event.
|
||
</para>
|
||
<para>
|
||
Next come the source and destination fields. The uses of these will
|
||
vary depending upon what type of event is being listed, but should
|
||
normally be fairly self-evident. For example, for a record event,
|
||
the source field indicates the audio source from which the recording
|
||
is to be made, while the destination indicates the cat/cut combo to
|
||
which the recording should be made. Some events may leave one or the
|
||
other of these fields blank.
|
||
</para>
|
||
<para>
|
||
Now come the day of the week fields. These indicate on which days
|
||
of the week the listed event should be executed, followed by the
|
||
origin field, which is simply a readout of the Origin data of the
|
||
events underlying cut. There are a number of other fields which
|
||
follow, but these are less important for understanding the
|
||
operation of RDCatch.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>The Button Area</title>
|
||
<para>
|
||
At the bottom of the main window are various buttons. On the
|
||
left-hand side, the Add, Edit and Delete buttons are used to manage
|
||
events in the event list. Clicking the Scroll button toggles
|
||
RDCatch into and out of 'scroll mode'. In this mode, the event
|
||
list display will be advanced automatically so as to keep the first
|
||
actively running event centered within the event list area.
|
||
</para>
|
||
<para>
|
||
On the right hand side, in addition to Close, are three audition
|
||
buttons. These buttons can be used to audition the head and tail
|
||
of each cut referenced by an event, thus making it possible to
|
||
quickly verify that a set of automatic recordings were properly
|
||
executed.
|
||
</para>
|
||
</sect2>
|
||
</sect1>
|
||
<sect1>
|
||
<title>Adding New Events</title>
|
||
<para>
|
||
A new event can be added to the event list by simply clicking the
|
||
Add button to bring up the Add Event Dialog (see Illustration 12).
|
||
Simply clicking the button that correspond to the desired type of
|
||
event will create it.
|
||
</para>
|
||
</sect1>
|
||
<sect1>
|
||
<title>Automating Recordings</title>
|
||
<para>
|
||
Automated recordings are configured by means of the Edit Recording
|
||
dialog (see Illustration 13), which can be accessed either by clicking
|
||
the Recording button in the Add Event dialog to create a new record
|
||
event or by touching the Edit button to modify an existing event.
|
||
</para>
|
||
<sect2>
|
||
<title>The 'Start Parameters' Section</title>
|
||
<para>
|
||
The start parameters of each recording are configured in the
|
||
'Start Parameters' section. A recording can be programmed to start
|
||
on the basis of the wall clock time, referred to the hard start
|
||
time, or upon reception of a general-purpose input, or GPI event
|
||
originated by a satellite receiver, tone decoder or other external
|
||
device. Programming a hard start time is merely a matter of
|
||
entering the desired start time, in 24 hour 'military' format.
|
||
Programming a GPI start involves, in addition to entry of the GPI
|
||
parameters themselves (matrix and GPI line numbers) that Window
|
||
Start and Windows End times be entered, that define the 'window'
|
||
during which reception of the appropriate GPI event will be
|
||
'recognized' by RDCatch. It is also optionally possible to specify
|
||
a Start Delay between reception of the GPI event and the actual
|
||
start of the recording.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>The 'End Parameters' Section</title>
|
||
<para>
|
||
The end parameters of each recording are configured in the
|
||
'End Parameters' section. A recording can be programmed to end on
|
||
the basis of a hard time, its absolute length or in response to a
|
||
GPI event. Programming of the Hard Time and Length parameters
|
||
should be fairly self-explanatory, while the parameters needed to
|
||
program a GPI event are similar to those used for the start
|
||
parameters, with the exception of the 'Max Record Length' setting,
|
||
which limits the maximum length of the recording in the event that
|
||
the expected GPI event is never received.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>Programming Multiple Recordings in a Single Event</title>
|
||
<para>
|
||
If a record event is configured to use GPI for its start and Length
|
||
or GPI for its end parameter, then it is possible to configure the
|
||
event to make repeated, multiple recordings within a single event
|
||
by checking the 'Allow Multiple Recordings Within This Window' box
|
||
in the 'Start Parameters' section. This can significantly reduce
|
||
the amount of required record events when capturing material with
|
||
high on-air turnover, such as newscasts or traffic reports.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>Selecting a Record Source</title>
|
||
<para>
|
||
If the selected record deck (chosen in the Location drop-down menu
|
||
at the top of the dialog) as been configured to operate with an
|
||
audio switcher device, the appropriate audio input can be chosen
|
||
from the Source drop-down menu.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>Selecting a Record Destination</title>
|
||
<para>
|
||
Each programmed recording must have a 'destination', a designated
|
||
Cart/Cut which will hold the audio. The currently programmed
|
||
destination is shown in the Destination field, and can be changed
|
||
by clicking the Select button.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>Setting the Active Days for a Recording</title>
|
||
<para>
|
||
A check should be placed next to each day of the week for which a
|
||
recording should be made in the Active Days box. If no days are
|
||
checked, then no recordings at all will be made.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>Record List Management with Event Active and Make OneShot</title>
|
||
<para>
|
||
The record event will be actually executed only if Event Active
|
||
(in the upper left corner of the dialog box) is checked. By
|
||
clearing this box, it's possible to 'bank' a record event without
|
||
actually having it run, useful for events that are only used
|
||
sporadically.
|
||
</para>
|
||
<para>
|
||
For events that need to be executed only once, the Make OneShot
|
||
box can be checked. Such an event will execute just once, and
|
||
then automatically delete itself from the event list.
|
||
</para>
|
||
</sect2>
|
||
</sect1>
|
||
<sect1>
|
||
<title>Automating Playouts</title>
|
||
<para>
|
||
Automated playouts are configured by means of the Edit Playout
|
||
dialog (see Illustration 14), which can be accessed either by
|
||
clicking the Playout button in the Add Event dialog to create a new
|
||
record event or by touching the Edit button to modify an existing
|
||
event. The process of configuring a playout is very similar to that
|
||
for configuring a recording – see the relevant part of Section 3.3,
|
||
'Automating Recordings' above for details.
|
||
</para>
|
||
</sect1>
|
||
<sect1>
|
||
<title>Automating Uploads/Downloads</title>
|
||
<para>
|
||
It's possible to use RDCatch to automatically upload and download
|
||
material from both local and Internet-based servers. Automated
|
||
downloads are configured by means of the Edit Download dialog, which
|
||
can be accessed either by clicking the Download button in the Add
|
||
Event dialog (see Illustration 15) to create a new record event or
|
||
by touching the Edit button to modify an existing event.
|
||
</para>
|
||
<para>
|
||
With the exception of the Url, Username and Password controls,
|
||
the process of configuring a download is very similar to that for
|
||
configuring a recording – see the relevant part of Section 3.3,
|
||
'Automating Recordings' above for details.
|
||
</para>
|
||
<para>
|
||
The Url control is used to specify the Uniform Resource Locater for
|
||
the material to be downloaded. The following download types are
|
||
supported: http, ftp, smb and file. The URL field can also include
|
||
wildcard characters that can be used to construct date-based URLs,
|
||
as shown in Table 5.
|
||
</para>
|
||
<para>
|
||
The Username and Password fields are used to indicate the username
|
||
and password required for access to the server referenced in the URL.
|
||
For public web pages and anonymous FTP servers, these fields can be
|
||
left blank.
|
||
</para>
|
||
<para>
|
||
Automated uploads are configured by means of the Edit Upload dialog
|
||
(see Illustration 16), which can be accessed either by clicking the
|
||
Upload button in the Add Event dialog to create a new record event or
|
||
by touching the Edit button to modify an existing event. The
|
||
following upload types are supported: ftp, smb and file. As with
|
||
downloads, the URL field can also include wildcard characters that
|
||
can be used to construct date-based URLs, as shown in Table 5.
|
||
</para>
|
||
<para>
|
||
Configuration of an upload event is very similar to that of a download,
|
||
with the addition of the Export Format control. This is used to set
|
||
what file format should be used for the upload. Depending upon what
|
||
software encoders have been installed by the system administrator,
|
||
the following export types may be available:
|
||
</para>
|
||
<para>
|
||
<itemizedlist>
|
||
<listitem>
|
||
PCM16 Linear (*.wav)
|
||
</listitem>
|
||
<listitem>
|
||
Free Lossless Audio Codec [FLAC] (*.flac)
|
||
</listitem>
|
||
<listitem>
|
||
MPEG Layer 2 (*.mp2)
|
||
</listitem>
|
||
<listitem>
|
||
MPEG Layer 3 (*.mp3)
|
||
</listitem>
|
||
<listitem>
|
||
OggVorbis (*.ogg)
|
||
</listitem>
|
||
</itemizedlist>
|
||
</para>
|
||
<para>
|
||
The desired upload format and parameters are set by clicking the Set
|
||
button.
|
||
</para>
|
||
</sect1>
|
||
<sect1>
|
||
<title>Automating Macro Execution</title>
|
||
<para>
|
||
It's possible to configure the automatic execution of a Macro Cart
|
||
by means of the Edit Cart Event dialog (see Illustration 17), which
|
||
can be accessed either by clicking the Macro Cart button in the Add
|
||
Event dialog to create a new Macro Cart event or by touching the
|
||
Edit button to modify an existing event. The process of configuring
|
||
a macro cart event is very similar to that for configuring a
|
||
recording – see the relevant part of Section 3.3, 'Automating
|
||
Recordings' above for details.
|
||
</para>
|
||
</sect1>
|
||
<sect1>
|
||
<title>Automating Switcher Operations</title>
|
||
<para>
|
||
It's possible to configure an automatic operation on a switcher
|
||
device by means of the Edit Switcher Event dialog (see Illustration
|
||
18), which can be accessed either by clicking the Switch Event button
|
||
in the Add Event dialog to create a new switch event or by touching
|
||
the Edit button to modify an existing event.
|
||
</para>
|
||
<para>
|
||
In addition to the usual fields, a switch event has Switch Matrix
|
||
(the name of one of the switch matrices associated with the selected
|
||
Location), Switch Input and Switch Output controls. When executed, a
|
||
switch events causes a take operation to be performed on the specified
|
||
switcher device between the specified input and output. It is
|
||
possible to specify the input and output either by their alphanumeric
|
||
names (assigned in RDAdmin) or by their absolute numbers.
|
||
</para>
|
||
</sect1>
|
||
</chapter>
|
||
<chapter>
|
||
<title>Generating and Maintaining Logs with RDLogEdit</title>
|
||
<sect1>
|
||
<title>Logs and Log Events</title>
|
||
<para>
|
||
A Rivendell log is a sequence of one or more events to be executed by
|
||
the system, arranged in chronological order. (This functionality is
|
||
sometimes referred to as a playlist in other automation systems).
|
||
Several different types of events can be included in a log, along
|
||
with parameters governing how and under what circumstances they will
|
||
be executed.
|
||
</para>
|
||
<para>
|
||
Upon startup, RDLogEdit will show the current list of all logs on the
|
||
system, as in Illustration 19. A number of important attributes of
|
||
logs can be seen from this illustration, the first being the log
|
||
name, with a summary status indicator next to it. The name is an
|
||
alpha-numeric label that is used as a unique “handle” by the system
|
||
to reference each log, and can be up to a maximum of 64 characters
|
||
long. The status indicator is intended as a quick visual guide as
|
||
to whether a particular log is ready for air (green check mark) or
|
||
not (red ex).
|
||
</para>
|
||
<para>
|
||
Next comes the log's description. This is a free-form alpha-numeric
|
||
label that can be used to record any information that might be useful
|
||
to have appear on the log list (e.g. “This log for Sunday's show, don't
|
||
modify!”).
|
||
</para>
|
||
<para>
|
||
Next comes a column showing the owning service. Each log is owned
|
||
by exactly one service, which determines under what circumstances
|
||
the log can be played and where electronic log reconciliation (ELR)
|
||
data resulting from log playouts is sent (for an overview of
|
||
Rivendell services, see section 1.1.3).
|
||
</para>
|
||
<para>
|
||
Next comes three “status indicator” columns ("MUSIC",
|
||
"TRAFFIC" and "TRACKS") indicating the log's
|
||
degree of readiness for air. A red indicator indicates that the
|
||
particular data element is required but currently missing, a green
|
||
indicator indicates an element is required and present, while a
|
||
white indicator indicates that an element is not required.
|
||
Additionally, the “TRACKS” column contains a pair of numbers
|
||
indicating how many completed voice tracks exist in the log versus
|
||
how many total track markers exist (the subject of voice tracks and
|
||
track markers will be covered in more detail below). When all three
|
||
of these status indicators show either green or white, the summary
|
||
status indicator (at the beginning of the log's entry in the list)
|
||
will show as a green check mark, while a red indicator in any of
|
||
these three fields will show a red ex. (NOTE: because a log sports
|
||
a red ex does not indicate that the respective log cannot be played.
|
||
It is merely a visual indicator to allow logs to be quickly
|
||
"eyeballed" for completeness).
|
||
</para>
|
||
<para>
|
||
Next comes a pair of columns indicating the valid start date and end
|
||
date for the log.
|
||
</para>
|
||
<para>
|
||
Finally, there is a column indicating the log's origin –i.e. the
|
||
place, date and time it was originally created.
|
||
</para>
|
||
<para>
|
||
A report that lists the available logs on the system can be generated
|
||
by touching the Log Report button.
|
||
</para>
|
||
<para>
|
||
A new log can be created by touching the Add button and entering a
|
||
name, or an existing log inspected and modified by touching its entry
|
||
on the log list and then touching the Edit button, resulting in the
|
||
log being opened in the Edit Log dialog as shown in Illustration 20.
|
||
The Edit Log dialog consists of three parts: the top section, where
|
||
much of the information shown on the log list can be inspected and
|
||
modified; the middle section, which shows the list of events
|
||
comprising the log, and the bottom section, where buttons for
|
||
modifying and saving the log are located. Each event in a log can
|
||
be one of several different types, indicated by the icon displayed
|
||
at the start of the line (see Table 6 for a breakdown of the various
|
||
icons). The following types of events can be incorporated into a
|
||
Rivendell log:
|
||
</para>
|
||
<sect2>
|
||
<title>Audio Carts</title>
|
||
<para>
|
||
The first, and usually most common type of log event is an audio cart.
|
||
As the name implies, audio carts are Library entries that contain
|
||
audio material intended for playout. Audio carts were covered in
|
||
detail in Chapter Two in the discussion about RDLibrary.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>Macro Carts</title>
|
||
<para>
|
||
A macro cart is a cart from the Library that contains one or more
|
||
system commands that can be used to cause the system to take various
|
||
actions. They were touched upon in Chapter Two in the discussion
|
||
about RDLibrary, and will be discussed in detail in Chapter Seven.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>Note Markers</title>
|
||
<para>
|
||
A note marker is an entry in the log that contains text intended to
|
||
be seen by operators and used as a guide or reminder (program coders
|
||
sometimes refer to this sort of functionality as a remark or comment,
|
||
as seen in the REM command used by BASIC programmers). Note markers
|
||
belong to a class of log events known as meta events because (unlike
|
||
carts, which exist in the Library independently of whether they are
|
||
placed in a log or not), they have no independent existence outside
|
||
of the specific log where they are placed. A note marker has
|
||
absolutely no effect on the execution of a log other than to simply
|
||
display some text at a specified point in a log, and as such can be
|
||
useful as a mechanism for making notes or reminders to oneself or
|
||
to others who may be executing the log.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>Track Markers</title>
|
||
<para>
|
||
A track marker is another meta event that is very similar in operation
|
||
to note markers, with one key addition: track markers designate or
|
||
"bookmark" a place in the log where a voice track is to be
|
||
recorded. (The entire topic of voice tracks and tracking will be
|
||
covered in detail in Chapter Eight). As with note markers, track
|
||
markers have absolutely no effect on the execution of a log.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>Chain Events</title>
|
||
<para>
|
||
Each event in a log has a transition type, shown in the "TRANS"
|
||
column of the Edit Log dialog. The transition type determines what
|
||
happens when one event in a log ends and the next starts. Three basic
|
||
transition types can exist in a Rivendell log: PLAY, SEGUE and STOP.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>Import Links</title>
|
||
<para>
|
||
An import link is a placeholder event that shows where events imported
|
||
from the external music or traffic scheduling system will eventually
|
||
go. They will be covered in detail in the chapter on RDLogManager.
|
||
</para>
|
||
<para>
|
||
Each event in a Rivendell log can have its parameters modified by
|
||
touching its entry in the Edit Log dialog and then clicking the Edit
|
||
button, thus opening up the Edit Log Entry dialog, shown in
|
||
Illustration 21 for a cart event, or Illustration 22 for a meta event.
|
||
</para>
|
||
</sect2>
|
||
</sect1>
|
||
<sect1>
|
||
<title>Event Transitions</title>
|
||
<para>
|
||
Each event in a log has a transition type, shown in the "TRANS"
|
||
column of the Edit Log dialog. The transition type determines what
|
||
happens when one event in a log ends and the next starts. Three basic
|
||
transition types can exist in a Rivendell log: PLAY, SEGUE and STOP.
|
||
</para>
|
||
<table xml:id="rdlogedit_event_type_icons" frame="all">
|
||
<title>Log Event Type Icons</title>
|
||
<tgroup cols="2" align="left" colsep="1" rowsep="1">
|
||
<colspec colname="Icon" />
|
||
<colspec colname="Meaning" />
|
||
<tbody>
|
||
<row>
|
||
<entry>
|
||
[AUDIO_ICON]
|
||
</entry>
|
||
<entry>
|
||
Audio Cart
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>
|
||
[TRACK AUDIO ICON]
|
||
</entry>
|
||
<entry>
|
||
Voice Track Audio Cart
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>
|
||
[MACRO ICON]
|
||
</entry>
|
||
<entry>
|
||
Macro Cart
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>
|
||
[NOTE ICON]
|
||
</entry>
|
||
<entry>
|
||
Note Marker
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>
|
||
[TRACK ICON]
|
||
</entry>
|
||
<entry>
|
||
Track Marker
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>
|
||
[CHAINTO ICON]
|
||
</entry>
|
||
<entry>
|
||
Chain Event
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>
|
||
[MUSICLINK ICON]
|
||
</entry>
|
||
<entry>
|
||
Music Import Link
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>
|
||
[TRAFFICLINK ICON]
|
||
</entry>
|
||
<entry>
|
||
Traffic Import Link
|
||
</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</table>
|
||
<sect2>
|
||
<title>The PLAY Transition</title>
|
||
<para>
|
||
If an event has a PLAY transition, then it will begin playing when
|
||
the previous event has finished. PLAY transitions are used when
|
||
automatic event sequencing is desired with no audio overlap (such
|
||
as when playing two voice-only announcements back-to-back).
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>The SEGUE Transition</title>
|
||
<para>
|
||
SEGUE transitions are similar to PLAY transitions, with one key
|
||
difference: if the finishing event contains segue data (either from
|
||
the Library or from a custom transition programmed in the voice
|
||
tracker), then the event will start before the prior event is
|
||
finished, causing the two pieces of audio to overlap and mix together.
|
||
SEGUE transitions can be a very powerful tool for creating a variety
|
||
of special effects, particularly when used in conjunction with
|
||
musical material.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>The STOP Transition</title>
|
||
<para>
|
||
As the name implies, STOP transitions cause execution of the log to
|
||
be suspended prior to execution of the event. This is often the
|
||
desired behavior in situations where the log playout needs to be
|
||
synchronized to one or more external audio sources (such as remote
|
||
satellite feeds), and is commonly used in conjunction with Hard
|
||
Timed events (see below).
|
||
</para>
|
||
</sect2>
|
||
</sect1>
|
||
<sect1>
|
||
<title>Time and Time Types</title>
|
||
<para>
|
||
All Rivendell log events have an associated time type, which controls
|
||
what effect (if any) the passage of time will have on the event.
|
||
There are two basic time types: relative and hard. Additionally,
|
||
the hard time type has several additional options that further modify
|
||
its behavior.
|
||
</para>
|
||
<sect2>
|
||
<title>The Relative Time Type</title>
|
||
<para>
|
||
The default time type for log events, a relative time type simply
|
||
means that the event is assumed to have a start time of whenever
|
||
the previous event ends (if it has a PLAY or SEGUE transition)
|
||
or whenever it is started (if it has a STOP transition).
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>The Hard Time Type</title>
|
||
<para>
|
||
A hard time type causes the event to be executed or otherwise acted
|
||
upon when the wall clock equals the time associated with the event.
|
||
Hard times are a powerful feature that can be used to synchronize
|
||
the log to various external events. An event can be assigned a
|
||
hard time by clicking the Start at check box in the Edit Log Entry
|
||
and filling in the desired time, and will show up with the letter
|
||
'T' appearing at the beginning of its listed time in the
|
||
"TIME" column of the Edit Log dialog. An event which has
|
||
been assigned a hard time can also be set to be a Post Point by
|
||
checking the Make Post Point check box (the concept of post points
|
||
will be discussed in detail in the chapter covering RDAirPlay).
|
||
</para>
|
||
<para>
|
||
The specific action that is performed when the time matches is
|
||
determined by the option parameters supplied as part of the event.
|
||
Three basic actions are possible:
|
||
</para>
|
||
<para>
|
||
<itemizedlist>
|
||
<listitem>
|
||
Start the event immediately
|
||
</listitem>
|
||
<listitem>
|
||
Cue to the event ("Make Next")
|
||
</listitem>1
|
||
<listitem>
|
||
Wait up to N Seconds, then start the event
|
||
</listitem>
|
||
</itemizedlist>
|
||
</para>
|
||
<sect3>
|
||
<title>Start Immediately</title>
|
||
<para>
|
||
As implied by the name, if the event is set to start immediately,
|
||
it will be started as soon as the hard time is reached. Any
|
||
currently playing events in the log will be stopped down.
|
||
</para>
|
||
</sect3>
|
||
<sect3>
|
||
<title>Cue to the Event ("Make Next")</title>
|
||
<para>
|
||
If set to 'Make Next', the event will be cued up to become the
|
||
next event to be executed in the log, bypassing any intervening
|
||
events in the log between the currently playing event and the
|
||
hard timed one. Any currently playing events are unaffected.
|
||
</para>
|
||
</sect3>
|
||
<sect3>
|
||
<title>Wait up to N Seconds, then start the event</title>
|
||
<para>
|
||
Very similar to "start immediately", with the
|
||
difference that, if one or more events are currently playing,
|
||
the log will wait up to the specified number of seconds
|
||
before stopping them and starting the new event.
|
||
</para>
|
||
</sect3>
|
||
</sect2>
|
||
</sect1>
|
||
<sect1>
|
||
<title>Editing Log Event Parameters</title>
|
||
<sect2>
|
||
<title>Specifying a Cart</title>
|
||
<para>
|
||
The cart number to use for an event can be specified by touching
|
||
the Select Cart button in the Edit Log Entry dialog, which will
|
||
open up the Select Cart dialog, as shown in Illustration 23.
|
||
Alternatively, it is possible to simply enter the cart number in
|
||
the Cart field if the number is already known. The Title and
|
||
Artist information will be automatically supplied by the system
|
||
from the cart's label.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>Specifying Meta Event Parameters</title>
|
||
<para>
|
||
Note marker and track marker events each take only a single
|
||
parameter: a Comment text that will show up on the log entry.
|
||
In the case of a chain event, the name of the log to chain to must
|
||
be supplied in the Log Name field, or the Select button can be
|
||
touched to bring up the Select Log dialog to allow a name to picked
|
||
from a list of all those available. Note that meta events are
|
||
assigned transition and time types just the same as cart events.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>Rearranging Log EventsRearranging Log Events</title>
|
||
<para>
|
||
Existing events in a log can be cut, copied, pasted or rearranged
|
||
by touching the appropriate buttons in the Edit Log dialog.
|
||
In addition, touch the Delete button will cause the selected
|
||
log event(s) to be removed from the log.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>Saving or Abandoning Changes to a Log</title>
|
||
<para>
|
||
Any changes made to a log can be saved by touching either the Save
|
||
or OK buttons in the Edit Log dialog. The current log can be saved
|
||
under a different name by touching the Save As button, while
|
||
touching Cancel will abandon any changes made since the last save.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>Missing/Invalid Cart Events</title>
|
||
<para>
|
||
If a given event has a problem (such as referencing a cart that
|
||
does not exist in the Library, or that is not enabled for play on
|
||
the log's owning service) its entry will be highlighted either
|
||
RED (indicating a missing/invalid cart) or MAGENTA (indicating a
|
||
cart without permission to run on the owning service). It's also
|
||
possible to generate an exception report summarizing problem cart
|
||
entries by touching the Check Log button.
|
||
</para>
|
||
</sect2>
|
||
</sect1>
|
||
<sect1>
|
||
<title>Generating Log Reports</title>
|
||
<para>
|
||
Various Log reports can be generated by touching the Reports button
|
||
on the Edit Log dialog and then selecting the desired report and
|
||
touching the Generate button. The following reports are available:
|
||
</para>
|
||
<sect2>
|
||
<title>Log Listing</title>
|
||
<para>
|
||
A chronological listing of all events in the log.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>Log Exception Report</title>
|
||
<para>
|
||
A list of missing/unplayable carts referenced in the log.
|
||
</para>
|
||
</sect2>
|
||
</sect1>
|
||
<sect1>
|
||
<title>Auditioning Audio</title>
|
||
<para>
|
||
The audio referenced by an audio event can be sampled in the Edit
|
||
Audio dialog by highlighting the desired event and then touching the
|
||
play button. No attempt to evaluate the rotation logic of the event
|
||
is made – the audio played is intended solely as a 'sample' to help
|
||
identify the type of material.
|
||
</para>
|
||
</sect1>
|
||
</chapter>
|
||
|
||
<chapter>
|
||
<title>Running Logs with RDAirPlay</title>
|
||
<sect1>
|
||
<title>Overview</title>
|
||
<para>
|
||
RDAirPlay is the Rivendell module used to run logs generated by the
|
||
RDLogEdit or RDLogManager (for an overview of Rivendell logs, see
|
||
Chapter Four). It contains a wide array of features for enabling
|
||
playout of audio content in live assist as well as fully automated
|
||
environments.
|
||
</para>
|
||
</sect1>
|
||
<sect1>
|
||
<title>Log Machines</title>
|
||
<para>
|
||
Fundamental to the operation of RDAirPlay is the concept of a log
|
||
machine. A log machine is a virtual “device” into which a Rivendell
|
||
log may be loaded and executed. RDAirPlay has three such log machines,
|
||
called Main Log, Aux 1 Log and Aux 2 Log. Each of these log machines
|
||
is completely independent of the others in the sense that different
|
||
logs can be loaded and executed simultaneously in the respective
|
||
machines.
|
||
</para>
|
||
</sect1>
|
||
<sect1>
|
||
<title>Layout</title>
|
||
<para>
|
||
As shown in Illustration 24, the RDAirPlay main screen consists of
|
||
four primary areas: the top area, which contains a variety of
|
||
indicators for use in live assist situations as well as a set of
|
||
audio meters; the button widget, which occupies the bulk of the
|
||
left-hand side of the screen; the right-hand side, which displays
|
||
either a SoundPanel array or a full log width; and the edit buttons
|
||
in the lower left-hand corner of the screen.
|
||
</para>
|
||
<para>
|
||
The top area contains the following indicators:
|
||
</para>
|
||
<sect2>
|
||
<title>The Wall Clock</title>
|
||
<para>
|
||
In the upper left-hand corner is wall clock indicator, which indicates
|
||
the current system date and time. The style used for displaying times
|
||
throughout RDAirPlay can be toggled between 24 hour “military” format
|
||
and the traditional “AM/PM” presentation by clicking once on this
|
||
display. If the system administrator has enabled it, this display
|
||
will also flash RED to indicate possible clock inaccuracy due to loss
|
||
of master clock synchronization.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>The Post Point Counter</title>
|
||
<para>
|
||
Immediately to the right of the wall clock is the Post Point Counter.
|
||
A post point is an attribute applied to a log event with a hard time
|
||
type. The post point counter uses this information to display
|
||
countdown and timing information.
|
||
</para>
|
||
<para>
|
||
The counter can be in one of four possible states: Idle, On Time,
|
||
Under Time or Over Time. If the next upcoming hard timed event does
|
||
not have its post point attribute set, then the counter will be in Idle
|
||
mode (see Illustration 26). If the attribute is set however, then the
|
||
counter will provide an estimate of how “on-time” the log currently
|
||
is, on the basis of the current time and events still scheduled to be
|
||
played.
|
||
</para>
|
||
<para>
|
||
If the playout is such that the post point will be reached within one
|
||
second of its programmed time, then the counter will be in On Time mode
|
||
(see Illustration 27). The value shown in the square brackets is the
|
||
scheduled time of the point point.
|
||
</para>
|
||
<para>
|
||
If the playout is such that the post point will be reached one second
|
||
or more before its programmed time, then the counter will be in Early
|
||
mode (see Illustration 28). It will also give an indication of how
|
||
much more material would need to be added to make the join on time.
|
||
</para>
|
||
<para>
|
||
If the playout is such that the post point will be reached one second
|
||
or more after its programmed time, then the counter will be in Late
|
||
mode (see Illustration 29). It will also give an indication of how
|
||
much material would need to be removed to make the join on time.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>The Audio Meter</title>
|
||
<para>
|
||
Immediately beneath the wall clock and post point counter is the audio
|
||
meter. The meter shows the current peak levels of audio being played
|
||
out of RDAirPlay, with '0' level referenced to -16 dBFS.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>The Pie Wedge Widget</title>
|
||
<para>
|
||
In the top center of the top area is the pie wedge widget. This
|
||
widget counts down the final few seconds of each event. The length
|
||
of time it counts down, along with whether it counts to the start
|
||
of the next transition or the absolute end of the event are both
|
||
configurable in RDADmin. The color of the band that grows as the
|
||
countdown progresses (shown RED in Illustration 31) will change color
|
||
to indicate if the currently playing event is the last event before
|
||
a log stopdown. If it is the last, it will be RED, if not, GREEN.
|
||
A BLUE band and countdown will also appear to indicate the event's
|
||
talk time (if talk time markers have been set in the underlying cart).
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>The Next Stop Counter</title>
|
||
<para>
|
||
Immediately to the right of the pie wedge widget is the next stop
|
||
counter. The large numerals indicate the predicted interval of time
|
||
before the next stopdown of the Main Log machine, with the actual
|
||
predicted time in the square brackets. If the Main Log is already
|
||
stopped, then the counter simply displays 'Stopped'.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>The Mode Indicator</title>
|
||
<para>
|
||
In the upper right-hand corner of the top area is the mode indicator,
|
||
showing the current automation mode of the log machines. Three
|
||
different modes are possible: Automatic, in which all log features,
|
||
including PLAY and SEGUE transitions and hard times are fully
|
||
enabled; LiveAssist, in which no automatic transitions or hard start
|
||
times are executed but automatic crossfades are done between
|
||
elements; and Manual, which is very similar to LiveAssist except
|
||
that not even automatic crossfades are enabled (thus permitting
|
||
fully manual crossfade control by means of an external console).
|
||
To change RDAirPlay to a different mode, simply touch the mode
|
||
indicator until the desired mode is indicated.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>The Label Area</title>
|
||
<para>
|
||
Immediately below the next stop counter and mode indicator is the
|
||
label area. Text messages can be made to appear here (by means of
|
||
RML commands) to signal the operator concerning the state of the
|
||
system or need to take some kind of action.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>The Right-Hand Side</title>
|
||
<para>
|
||
Directly below the label area is the right-hand side. The right-hand
|
||
side can display either a SoundPanel array or a full log widget for
|
||
each of the three log machines, selected by clicking the appropriate
|
||
button in the lower right-hand corner of the screen. (NOTE:
|
||
depending upon how the system administrator has configured the
|
||
system, not all of the log machine buttons may be visible on your
|
||
system).
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>The Full Log Widget</title>
|
||
<para>
|
||
As the name implies, the full log widget can be used to view the
|
||
contents of a log over its entire length. To load a log, touch the
|
||
Select Log button to bring up the Select Log dialog, select the
|
||
desired log from the list and then touch Load. The currently loaded
|
||
log can also be saved by touching the Save or Save As buttons, or
|
||
the current log unloaded by touching Unload. See Illustration 36.
|
||
</para>
|
||
<para>
|
||
Once a log is loaded, it can be started at any point by touching an
|
||
event and then pressing the Play button. Any playing event can
|
||
likewise be stopped by touching in the event and then pressing the
|
||
Stop button. To cue-up an event so that it is the next to play
|
||
(indicated by the event being the first with a light green
|
||
background), touch the event and then press the Make Next button.
|
||
The play parameters of an event can be modified by touching the event,
|
||
then pressing the Modify button, bringing up the Edit Event dialog
|
||
(see Illustration 37).
|
||
</para>
|
||
<para>
|
||
In addition to having the ability to modify the event's time and
|
||
transition parameters, the Edit Event dialog can be used to audition
|
||
the event's audio in Cue or set the start position of the audio for
|
||
on-air playback (so as to allow a program to be joined
|
||
"in progress", for example). To audition the audio,
|
||
simply press the play button. The slider can be moved to adjust
|
||
where in the audio to audition from. To set the start position,
|
||
press the Start button and then position the slider where you wish
|
||
the start to be. The red line on progress display indicates the
|
||
current start position. Pressing the Start button again returns
|
||
the dialog to Audition mode.
|
||
</para>
|
||
<para>
|
||
When running a log, it is often desirable to have the currently
|
||
playing event always in sight. To do this, toggle the Scroll
|
||
button on (blue background).
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>The Button Log Widget</title>
|
||
<para>
|
||
To the left of the full log widget is the button log widget,
|
||
consisting of a column of seven large buttons adjacent to cart labels.
|
||
This widget provides another, specialized “view” of the Main Log log
|
||
machine. Specifically, the first seven currently playing and/or
|
||
next events in that log machine will always be visible here. Events
|
||
visible in the button log will be shown in the full log widget as
|
||
having a green background. Unlike the full log widget, the button
|
||
log is always visible, regardless of which display has been selected
|
||
for the right-hand side.
|
||
</para>
|
||
<para>
|
||
To start an event from the button log, simply touch an event's
|
||
corresponding Start button. Touching the button of a running event
|
||
will either (depending upon how the system administrator has
|
||
configured RDAirPlay) stop or pause it. To modify an event's
|
||
parameters (via the Edit Event dialog), simply double-click the
|
||
event's cart label.
|
||
</para>
|
||
</sect2>
|
||
</sect1>
|
||
<sect1>
|
||
<title>Editing a Log</title>
|
||
<para>
|
||
It is possible to edit the log loaded into any of the three log
|
||
machines by means of the log edit buttons in the lower left-hand corner
|
||
of the screen.
|
||
</para>
|
||
<sect2>
|
||
<title>Adding an Event</title>
|
||
<para>
|
||
To add an event, touch the ADD button to open the Select Cart dialog,
|
||
pick the desired cart and then touch OK. To place the selected cart
|
||
using the button log widget, simply touch one of the yellow WHERE?
|
||
buttons. To place it using the full log widget, click the event
|
||
where you wish it to go and then touch the yellow WHERE? button.
|
||
If, after selecting a cart from the Select Cart dialog, you decide
|
||
you don't want to add it after all, simply touch the ADD button again
|
||
to cancel the operation (see Illustration 39).
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>Deleting an Event</title>
|
||
<para>
|
||
To delete an event, touch the DEL button, then touch one of the
|
||
violet DELETE buttons in the button log widget, or select an event
|
||
and then touch the violet DELETE button. To cancel the operation,
|
||
simply touch the DEL button again (see Illustration 40).
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>Moving an Event</title>
|
||
<para>
|
||
To move an event, touch the Move button, then touch one of the violet
|
||
MOVE buttons in the button log widget, or select an event and then
|
||
touch the violet MOVE button, then touch one of the yellow TO buttons
|
||
in the button log widget, or select an event and then touch the
|
||
yellow TO button. To cancel the operation at any stage, simply touch
|
||
the MOVE button again. It is perfectly permissible to move an event
|
||
between two different log machines.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>Copying an Event</title>
|
||
<para>
|
||
To copy an event, touch the Copy button, then touch one of the
|
||
violet COPY buttons in the button log widget, or select an event
|
||
and then touch the violet COPY button, then touch one of the yellow
|
||
TO buttons in the button log widget, or select an event and then
|
||
touch the yellow TO button. To cancel the operation at any stage,
|
||
simply touch the COPY button again. It is perfectly permissible to
|
||
copy an event between two different log machines.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>The SoundPanel</title>
|
||
<para>
|
||
The SoundPanel is an array of buttons that appears in the right-hand
|
||
side of RDAirPlay when the Sound Panel button is selected (see
|
||
Illustration 41). Each button can be associated with a particular
|
||
cart in the Library (either Audio or Macro carts), which is then
|
||
played each time the button is clicked. The soundpanel is
|
||
particularly useful in live assist situations where it is desired to
|
||
drop in some piece of audio on a live, improvised basis.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>Panel Types</title>
|
||
<para>
|
||
The SoundPanel has multiple panels or “panes” that can scrolled
|
||
through by touching the double-left or double-right arrow buttons.
|
||
Each panel has a designator, (displayed just to the right of the
|
||
arrow keys), consisting of the letter 'U' or 'S' followed by a
|
||
number. An 'S' indicates that the panel is a 'system' panel,
|
||
meaning that its button assignments will show up in all RDAirPlay
|
||
instances across a given site; while a 'U' indicates a 'user' panel,
|
||
one which is associated with a particular user and that will
|
||
"follow around" that user where ever he logs in in the
|
||
site. (Depending upon how the system administrator has configured
|
||
RDAirPlay, you may not have both of these panel types available to
|
||
you).
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>Programming a SoundPanel Button</title>
|
||
<para>
|
||
To associate a cart with a panel button, first touch the Setup
|
||
button, which will begin to flash. (Depending upon how the system
|
||
administrator has configured RDAirPlay, the Setup button may be
|
||
disabled). Next, touch the button you wish to program, opening the
|
||
Edit Button dialog (see Illustration 41).
|
||
</para>
|
||
<para>
|
||
Touch the Set Cart button to open the Select Cart dialog and pick a
|
||
cart. To clear the button –i.e. have no cart associated with it –
|
||
touch the Clear button. To assign a custom background color to the
|
||
button, touch the Set Color button. A custom label can be entered
|
||
in the Label field, or the name of the cart will be used by default.
|
||
Touch the OK button when done. When done programming all the
|
||
desired buttons, touch the Setup button again to toggle off Setup
|
||
mode.
|
||
</para>
|
||
</sect2>
|
||
</sect1>
|
||
</chapter>
|
||
|
||
<chapter>
|
||
<title>Generating Logs with RDLogManager</title>
|
||
<sect1>
|
||
<title>Overview</title>
|
||
<para>
|
||
RDLogManager is a tool for generating Rivendell logs. It is different
|
||
from RDLogEdit in that, instead of building logs line-by-line,
|
||
it allows log structures to be defined by a series of rules (called
|
||
events and clocks) that are then plugged into a time framework
|
||
(called a grid). This grid is then used to automatically generate
|
||
logs on an as-needed basis. Each Rivendell service has its own,
|
||
separately defined grid, thus allowing for separate log generation
|
||
rules for each service. This system of rules allows for very
|
||
powerful, modular features, including the ability to import and use
|
||
scheduling data from various external third party systems, such as
|
||
music schedulers and traffic and billing systems.
|
||
</para>
|
||
<para>
|
||
RDLogManager also includes facilities for generating reports. Reports
|
||
are data outputs that detail whether certain events aired as
|
||
scheduled, and under what circumstances. Reports are available in
|
||
various formats. Some are intended to be read by humans, while
|
||
others are intended for use by other, external software systems as a
|
||
means of reconciling exported schedules.
|
||
</para>
|
||
<para>
|
||
When RDLogManager is started, it displays its main menu (see
|
||
Illustration 42).
|
||
</para>
|
||
</sect1>
|
||
<sect1>
|
||
<title>Grids</title>
|
||
<para>
|
||
Each Rivendell service has an RDLogManager grid. To see the list of
|
||
available grids, touch the Edit Grids button to open the Log Grids
|
||
dialog (see Illustration 43).
|
||
</para>
|
||
<para>
|
||
To open a particular grid, select its service name and touch the Edit
|
||
button (see Illustration 44).
|
||
</para>
|
||
<para>
|
||
Each grid has slots for every hour of every day of the broadcast week
|
||
– 168 slots in all. By specifying a particular clock to go into each
|
||
of these slots, a set of rules that RDLogManager can use to generate
|
||
a log for any given day of the week is built up. To specify a clock,
|
||
simply touch the particular hour of interest to open up the Select
|
||
Log Clock dialog (see Illustration 45).
|
||
</para>
|
||
<para>
|
||
Click the desired clock, then touch the OK button. To clear the
|
||
assignment of any clock to the selected hour, touch the Clear button,
|
||
then OK.
|
||
</para>
|
||
<para>
|
||
It is possible to 'drill down' directly to the underlying
|
||
configuration of a clock (to be covered shortly) by right-clicking on
|
||
the relevant hour in a grid and selecting Edit Clock.
|
||
</para>
|
||
</sect1>
|
||
<sect1>
|
||
<title>Clocks</title>
|
||
<para>
|
||
An RDLogManager clock is a collection of RDLogManager events,
|
||
arranged in terms of their start time (relative to the beginning of
|
||
the hour) and length. It basically can be thought of as the
|
||
"schedule" of an hour – any hour. Once defined, a clock
|
||
can be plugged into any hour of a grid of any service, thus making
|
||
for easy modularization and changes to a service's schedule.
|
||
</para>
|
||
<para>
|
||
To see the list of available clocks, touch the Edit Clocks button in
|
||
RDLogManager's Main Menu to open the Log Clocks dialog (see
|
||
Illustration 46). Each RDLogManager clock can be assigned a
|
||
three-letter code and color, as an aid in identifying it when
|
||
assigned to grids. To add a new clock, touch the Add button, or to
|
||
edit a clock's parameters, click on it and touch the Edit button.
|
||
In each case, the Edit Clock dialog (see Illustration 47) will open.
|
||
Clocks can also be deleted by touching the Delete button or renamed
|
||
by touching the Rename button.
|
||
</para>
|
||
<para>
|
||
The Edit Clock dialog consists of three main sections: a tabular
|
||
list of events in chronological order, a graphical depiction of the
|
||
clock in the traditional “broadcast clock” format, and a series of
|
||
action buttons across the bottom. The clock's three-letter code is
|
||
set by means of the Code: field in the upper right-hand corner of the
|
||
table area. Its color can be set by touching the Color button. To
|
||
save the clock without exiting the dialog, touch the Save or Save As
|
||
buttons. To add a new event to the clock, touch the Add button, or
|
||
to edit an existing entry touch the Edit button. In either case,
|
||
the Edit Event Assignment dialog will open (see Illustration 48). To
|
||
delete an entry, touch the Delete button. As in the case of grids,
|
||
it is possible to 'drill down' into the underlying RDLogManager
|
||
event by right-clicking on the respective entry in the clock event
|
||
table and selecting Edit Event.
|
||
</para>
|
||
<para>
|
||
The Edit Event Assignment dialog simply consists of an Event field
|
||
for the name of the RDLogManager event and Start Time: and End Time:
|
||
fields for the start and end times relative to the start of the
|
||
hour. A list of available events can be brought up by touching the
|
||
Select button to bring up the Log Events dialog.
|
||
</para>
|
||
<para>
|
||
Each clock can be designated as being associated with one or more
|
||
services. This can make finding the correct clock for a given
|
||
service much faster, as the Filter control on the List Clocks dialog
|
||
can then be used. To program these associations, touch the Services
|
||
List button in the Edit Clock dialog to bring up the Service
|
||
Associations dialog (see Illustration 49).
|
||
</para>
|
||
<para>
|
||
To designate a service as being valid for this clock, select the
|
||
services name in the Available Services list and then touch the Add
|
||
>> button. Likewise, to deselect a service, select its name in the
|
||
Enabled Services list and then touch the << Remove button.
|
||
</para>
|
||
</sect1>
|
||
<sect1>
|
||
<title>Events</title>
|
||
<para>
|
||
An RDLogManager event is a set of rules that define a series of log
|
||
elements (audio carts, macro carts, markers, etc) that should be
|
||
inserted into a log, along with the appropriate log event parameters
|
||
(transition type, time type, etc) that should be associated with them.
|
||
The actual elements to be inserted can be specified directly within
|
||
the event itself, or imported from a data file generated by an
|
||
external scheduling system. Up to two such external scheduling
|
||
sources can be defined for each service. While for convenience sake
|
||
these are designated as 'Traffic' and 'Music' within RDLogManager,
|
||
they can each be used anywhere a means of importing external
|
||
scheduling data into the system is needed, regardless of whether such
|
||
data actually references commercial or musical material or not.
|
||
</para>
|
||
<para>
|
||
To see the list of available RDLogManager events, touch the Edit
|
||
Events button on the RDLogManager Main Menu to open the Log Events
|
||
dialog (see Illustration 50). It is possible to filter the list of
|
||
available events to only those used for a particular service by
|
||
selecting the service in the Filter: control. To add a new event,
|
||
touch the Add button, or to edit an event's parameters, click on it
|
||
and touch the Edit button. In each case, the Edit Event dialog (see
|
||
Illustration 51) will open. Events can also be deleted by touching
|
||
the Delete button or renamed by touching the Rename button.
|
||
</para>
|
||
<para>
|
||
The Edit Event dialog consists of two main parts: a Library cart
|
||
picker widget on the left side, and an area showing the various event
|
||
parameters on the right. Audio contained within audio carts can be
|
||
sampled by selecting the desired cart and then touching the Play
|
||
button. Programming an event basically consists of specifying four
|
||
things: its log parameters (transition and time types), the list of
|
||
pre-import events, the event import (if any) and the list of
|
||
post-import events. The first matter to be decided is if the event
|
||
should have a hard start time: if so, then the Use hard start time
|
||
box in the TIMED START section should be checked. Checking this box
|
||
will enable all of the usual hard start parameters to be specified.
|
||
If an automatic timed start is not desired, then it is possible to
|
||
check the Cue to this event box in the PREPOSITION LOG section.
|
||
This will cause RDLogManager to place a hard time with a 'Make Next'
|
||
attribute on the first item of the event – effectively, causing the
|
||
event to be automatically “cued up” at the scheduled time – something
|
||
that can be particularly handy for keeping spot breaks in sync when
|
||
"overscheduling" music.
|
||
</para>
|
||
<para>
|
||
Next, if it is desired to have RDLogManager try to insert
|
||
automatically material from the Autofill List to ensure that the event
|
||
has the length indicated by its parent clock, the Use Autofill box in
|
||
the ENFORCING LENGTH section should be checked. (Configuring the
|
||
Autofill List is covered in detail in the Rivendell Technical and
|
||
Administration Guide). If Autofill is enabled, it is also possible
|
||
to check the Warn if fill is under or over box to have RDLogManager
|
||
generate a warning if it was unable to properly fill the event when
|
||
the log was generated.
|
||
</para>
|
||
<para>
|
||
Next, the list of log events (if any) to be inserted before the data
|
||
import should be placed in the PRE-IMPORT CARTS list. For audio or
|
||
macro carts, these can be simply dragged and dropped from the Library
|
||
cart list on the left-hand side of the dialog. Meta events can be
|
||
inserted by right-clicking on the list and selecting the desired
|
||
element. It is also possible to edit or delete elements and set the
|
||
transition type of each element through the right-click menu.
|
||
</para>
|
||
<para>
|
||
The IMPORT section then defines which (if any) source will be used
|
||
for importing external scheduling events into the log. Either Music,
|
||
Traffic or None can be selected. If Music or Traffic is selected,
|
||
then RDLogManager will import any events from those sources that fall
|
||
within the start and end times of the event (as supplied by the
|
||
parent clock). These start and end times can be further broadened by
|
||
means of 'slop factors' entered into the Import carts scheduled
|
||
controls (this is sometimes necessary to get the import to work
|
||
properly with certain external scheduler systems). The transition
|
||
types to be used for the first and subsequent imported elements can
|
||
be specified with the First cart has a and Imported carts have a
|
||
controls. If Music has been selected as the import source, it is
|
||
also possible to specify the event to use to import traffic breaks
|
||
embedded in the music log with the Import inline traffic with the
|
||
control. (Configuration of the actual parser parameters for data
|
||
importation is covered in the Rivendell Technical and Administration
|
||
Guide).
|
||
</para>
|
||
<para>
|
||
Finally, the list of log events (if any) to be inserted after the
|
||
data import should be placed in the POST-IMPORT CARTS list.
|
||
Configuration of the events work very similarly to that of the
|
||
PRE-IMPORT CARTS list.
|
||
</para>
|
||
<para>
|
||
The color of the event (as seen in the Edit Clock dialog) can be set
|
||
by touching the Color button. The list of services for which this
|
||
event is valid can be edited by touching the Services List button.
|
||
To save the event without exiting the dialog, touch the Save or Save
|
||
As buttons.
|
||
</para>
|
||
</sect1>
|
||
<sect1>
|
||
<title>Generating Logs</title>
|
||
<para>
|
||
After all of the appropriate hours have been populated in a service's
|
||
grid, it's time to start generating logs. To do this, touch the
|
||
Generate Logs button in RDLogManager's Main Menu to open the Generate
|
||
Log dialog (see Illustration 52).
|
||
</para>
|
||
<para>
|
||
Depending upon how many external scheduling sources are involved,
|
||
generating a log involves one, two or three steps. Before performing
|
||
any of the steps, it is first necessary to select the relevant
|
||
service for which to generate the log (using the Service: control)
|
||
and the log date (either by entering the date in the Date: control
|
||
or by touching the Select button and picking it off of the calendar).
|
||
</para>
|
||
<para>
|
||
In all cases, a new log is initially generated by touching the Create
|
||
New Log button. If the log for the selected date and service does not
|
||
already exist, it will be created at this point (becoming visible in
|
||
RDLogEdit). It the log already exists, it will be overwritten.
|
||
(NOTE: if completed voicetracks exist in the old log, they will be
|
||
deleted when the log is overwritten!)
|
||
</para>
|
||
<para>
|
||
When generating a log, RDLogManager will look for possible problems
|
||
(such as scheduled carts that are missing in the Library) and
|
||
generate an exception report if it finds any.
|
||
</para>
|
||
<para>
|
||
Once generated, the status lights in the Generate Log dialog indicate
|
||
which (if any) additional import data are needed to complete the log.
|
||
Two types of status light exist: Available, which indicates if the
|
||
required data file is available to RDLogManager, and Merged,
|
||
indicating whether the data has been merged into the log as yet.
|
||
Each light can show one of three different colors: GREEN, meaning
|
||
"yes", RED, meaning "no" and WHITE, meaning
|
||
"not required".
|
||
</para>
|
||
<para>
|
||
For an example, see Illustration 53. This is showing a log that has
|
||
been generated and has music data available but not yet merged. To
|
||
perform the merge, touch the Merge Music button. The dialog now
|
||
changes to that shown in Illustration 54, indicating that Music data
|
||
has been merged but that traffic data is still needed. Once a log
|
||
has reached this state – that of having any necessary music data
|
||
merged – it can be voicetracked without having to wait for traffic
|
||
data to become available. Traffic data can be merged at any time
|
||
before, during or after the generation of voicetracks. The actual
|
||
traffic merge is performed by touching the Merge Traffic button,
|
||
resulting in a dialog like that shown in Illustration 55. (NOTE:
|
||
the configuration of the various data file names and parser parameters
|
||
needed for data import is done in the RDAdmin module and is covered
|
||
in the Rivendell Technical and Administration Guide).
|
||
</para>
|
||
<para>
|
||
It is important to note that the sequence of operations from the
|
||
example above is typical, but may vary depending upon how the system
|
||
administrator has configured RDLogManager at each site. Some services,
|
||
for example, will have no music data, only traffic, so the music
|
||
indicator lights will be "whited out" accordingly.
|
||
</para>
|
||
</sect1>
|
||
<sect1>
|
||
<title>Generating Reports</title>
|
||
<para>
|
||
A Rivendell report is a data output that details whether certain
|
||
events aired as scheduled, and under what circumstances. Reports are
|
||
available in various formats. Some are intended to be directly read
|
||
by humans, while others are intended for use by other, external
|
||
software systems as a means of reconciling exported schedules.
|
||
</para>
|
||
<para>
|
||
Rivendell has the ability to filter the data that go into any
|
||
particular report on the basis of the type of material played (traffic
|
||
spots, music or all), the playing service(s) and the originating
|
||
host(s). The configuration of reports is done in the RDAdmin module
|
||
and is covered in the Rivendell Technical and Administration Guide.
|
||
Once configured however, reports are actually generated by the
|
||
RDLogManager module.
|
||
</para>
|
||
<para>
|
||
To generate a report, touch the Manage Reports button on the
|
||
RDLogManager Main Menu to open the Select Service dialog (see
|
||
Illustration 56). The dialog will show each service on the system,
|
||
along with the date of the oldest data available for generating
|
||
reports. Touch the Generate Reports button to open the Select Report
|
||
Dates dialog (see Illustration 57). The desired report can be
|
||
selected with the Report: control, and the start and end dates of the
|
||
report specified with the Start Date: and End Date: controls,
|
||
respectively (NOTE: not all reports are capable of being generated so
|
||
as to span more than one day). Once the parameters are set, touch the
|
||
Generate Report button to write out the report.
|
||
</para>
|
||
<sect2>
|
||
<title>Purging Old Report Data</title>
|
||
<para>
|
||
Rivendell keeps the raw data used to generate reports indefinitely,
|
||
until manually purged out of the system. Periodic purging of old
|
||
data is a good idea from the standpoint of minimizing the amount of
|
||
system resources utilized, and can be done by selecting the desired
|
||
service and then touching the Purge Data button in the Select
|
||
Service dialog, opening up a calendar dialog (see Illustration 58).
|
||
Each date that has data eligible for purging will be shown in bold.
|
||
To purge a particular day, select it and the touch the Purge Data
|
||
button. (NOTE: once purged, no reports can be generated for that
|
||
particular service/date, so be sure that all required reports have
|
||
been produced before purging!)
|
||
</para>
|
||
</sect2>
|
||
</sect1>
|
||
</chapter>
|
||
|
||
<chapter>
|
||
<title>VoiceTracking</title>
|
||
<sect1>
|
||
<title>Voicetracking in Rivendell</title>
|
||
<para>
|
||
Voicetracking is a capability wherein custom "one-off"
|
||
content is created and inserted into logs, making it possible to
|
||
create programming that sounds very spontaneous and "live".
|
||
In Rivendell, such voicetracks are placed into a special type of audio
|
||
cart known as a voicetrack cart. These carts are automatically
|
||
created, deleted and managed by the voicetracker interface (part of
|
||
the RDLogEdit module), with no manual user intervention required.
|
||
The voicetracker module also includes extensive capabilities for
|
||
allowing customization of the transitions between log elements.
|
||
</para>
|
||
<sect2>
|
||
<title>Prerequisites</title>
|
||
<para>
|
||
Before beginning voicetracking for a particular service, a
|
||
voicetracker group and pool of available cart numbers must be
|
||
configured in the RDAdmin module. These procedures are detailed in
|
||
the Rivendell Technical and Administration Guide.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>VoiceTrack Markers</title>
|
||
<para>
|
||
A voicetrack marker is a meta event that can be inserted into a log
|
||
as a "placeholder" to others to indicate where a voicetrack
|
||
is to be recorded. Track markers can be inserted by RDLogEdit,
|
||
RDLogManager events or even embedded in data generated by external
|
||
schedulers.
|
||
</para>
|
||
</sect2>
|
||
</sect1>
|
||
<sect1>
|
||
<title>Using the Voicetrack Interface</title>
|
||
<sect2>
|
||
<title>The VoiceTracker Dialog</title>
|
||
<para>
|
||
To voicetrack a log, start the RDLogEdit module (see Illustration 19),
|
||
highlight the desired log and touch the VoiceTracker button, opening
|
||
the VoiceTracker dialog (see Illustration 59). This dialog consists
|
||
of three major parts: the waveform area, the log list and the control
|
||
buttons.
|
||
</para>
|
||
<para>
|
||
The waveform area is in the upper center part of the dialog, and
|
||
consists of four "panes". The upper three display waveform
|
||
depictions while the fourth contains audition control buttons, an
|
||
audio meter and various counters. Directly below this is the log
|
||
list, showing a copy of the currently loaded log. The control
|
||
buttons occupy the bottom and right-hand edges of the dialog.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>Editing Transitions</title>
|
||
<para>
|
||
When an event is selected in the log list, a graphical depiction of
|
||
the transition into that event is loaded into the waveform area.
|
||
If the selected event and its prior event in the log is not a
|
||
voicetrack or track marker, then the selected event will be
|
||
displayed in the third pane of the waveform area and the previous
|
||
event displayed in the first pane. If the selected event or its
|
||
prior event is a voicetrack or track marker, then voicetrack or
|
||
marker will be displayed in the second pane of the waveform area.
|
||
</para>
|
||
<para>
|
||
Once selected, a transition can be auditioned by touching the play
|
||
button in the fourth pane of the waveform area. Play will start
|
||
from the left-hand edge of the topmost waveform. This start
|
||
location can be adjusted by dragging the topmost waveform to the
|
||
left or right by means of the mouse or touchscreen. If the
|
||
transition type of the selected event is SEGUE, it is also possible
|
||
to adjust the degree of audio overlap by dragging the second or
|
||
third waveform as well. It's possible to “undo” changes made in
|
||
the segue overlap by right-clicking on the waveform and selecting
|
||
Undo Segue Changes from the menu. To make the overlap permanent,
|
||
touch the Save button. To restore the transition to its default
|
||
state (calculated on the basis of segue markers from the Library)
|
||
touch the Do Over button. The transition type can be changed by
|
||
right-clicking on an event and selecting the desired transition
|
||
type from the menu.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>Inserting and Deleting Track Markers</title>
|
||
<para>
|
||
It is possible to insert a new voicetrack marker by selecting the
|
||
desired location in the log list and touching the Insert Track
|
||
button. An existing voicetrack marker can likewise by deleted by
|
||
selecting it in the log list and touching the Delete Track button.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>Moving Between Track Markers</title>
|
||
<para>
|
||
It is possible to move directly to the next or previous voicetrack
|
||
marker simply by touching the Next Track or Previous Track buttons,
|
||
respectively.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>Recording a Voicetrack</title>
|
||
<para>
|
||
Once the desired voicetrack marker has been selected, the process
|
||
of recording a voicetrack consists of four steps, each initiated by
|
||
one of the four square control buttons in the upper right-hand
|
||
corner of the dialog. (See Illustration 50).
|
||
</para>
|
||
<para>
|
||
To begin, touch the topmost Start button. This will cause the
|
||
audio in the topmost pane to begin playing, with a cursor to show
|
||
playback position (see Illustration 61). To begin the actual
|
||
recording, touch the Record button (see Illustration 62). To start
|
||
the following event (in the third pane), touch the second Start
|
||
button (see Illustration 63). Finally, to stop recording, touch
|
||
the Save button (see Illustration 64). The record process can be
|
||
canceled at any time by touching the Abort button, restoring the
|
||
transition to its default state. It is also possible to undo a
|
||
completed voicetrack by touching the Do Over button.
|
||
</para>
|
||
<para>
|
||
Once completed, the segue overlaps into and out of a voicetrack can
|
||
be adjusted in the same manner as for simple transitions –i.e. by
|
||
dragging the appropriate waveforms with the mouse.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>Adjusting Transition Levels</title>
|
||
<para>
|
||
It is possible to adjust the audio fade levels applied during
|
||
transitions by means of rubber bands on the waveform displays.
|
||
These are green lines with small square targets. To adjust a rubber
|
||
band, use the mouse to grab one of the targets and drag it to the
|
||
desired location.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>Importing Voicetracks</title>
|
||
<para>
|
||
In addition to recording in realtime, it's possible to import a
|
||
voicetrack directly from an audio file. To do so, select the
|
||
desired voicetrack marker and then touch the Import button to open
|
||
the Import/Export Audio dialog (see Illustration 5). (For more
|
||
information on using the Import/Export Audio dialog, see Section
|
||
3.1.0 Importing Audio from a File). Once imported, the voicetrack
|
||
can be manipulated in the same manner as those that were directly
|
||
recorded.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>Hitting the Post</title>
|
||
<para>
|
||
If the event following a voicetrack has its Talk Time markers set,
|
||
it is possible to set the transition so that the end of the
|
||
voicetrack automatically aligns with the end of the Talk Time
|
||
(commonly referred to as hitting the post). To do this, simply
|
||
touch the Hit Post button.
|
||
</para>
|
||
</sect2>
|
||
</sect1>
|
||
</chapter>
|
||
|
||
<chapter>
|
||
<title>Rivendell Macro Langauge</title>
|
||
<sect1>
|
||
<title>Overview</title>
|
||
<para>
|
||
Rivendell Macro Language (or RML for short) is a set of commands
|
||
implemented within Rivendell that can be used to program the system
|
||
to take various actions. A wide variety of commands exist, ranging
|
||
from control of outboard gear (such as switchers and GPIO devices)
|
||
to control of various aspects of log playout in RDAirPlay, to
|
||
Rivendell user management.
|
||
</para>
|
||
</sect1>
|
||
<sect1>
|
||
<title>Protocol</title>
|
||
<para>
|
||
The Normal form of a command takes the following syntax:
|
||
</para>
|
||
<para>
|
||
<replaceable>cmd</replaceable> [<replaceable>arg</replaceable>] [<replaceable>...</replaceable>]!
|
||
</para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>
|
||
<replaceable>cmd</replaceable>
|
||
</term>
|
||
<listitem>
|
||
<para>
|
||
A command mneumonic consisting of two alpha-numeric characters
|
||
indicating the action to be performed.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>
|
||
<replaceable>arg</replaceable>
|
||
</term>
|
||
<listitem>
|
||
<para>
|
||
Zero or more arguments, delimited by spaces or, if the last
|
||
argument, by ! (see below)
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>
|
||
!
|
||
</term>
|
||
<listitem>
|
||
<para>
|
||
The ASCII character 33, indicating the end of the command sequence.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</sect1>
|
||
|
||
<sect1>
|
||
<title>Command Delivery</title>
|
||
<para>
|
||
To be executed by a Rivendell system, an appropriate command should be
|
||
delivered to UDP ports 5858 or 5859 on said system, using the SOCK_DGRAM
|
||
connectionless protocol. Commands delivered to port 5858 may receive a
|
||
reply back to the originating IP address at UDP socket 5860 to indicated
|
||
command success/failure, while commanders delivered to 5859 will be
|
||
processed, but no reply made.
|
||
</para>
|
||
</sect1>
|
||
|
||
<sect1>
|
||
<title>Command Reply</title>
|
||
<para>
|
||
If delivered to UDP port 5858, each command may receive a reply,
|
||
formulated as follows:
|
||
</para>
|
||
<para>
|
||
<replaceable>rpy</replaceable> <computeroutput>+</computeroutput>|<computeroutput>-</computeroutput>
|
||
</para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>
|
||
<replaceable>rpy</replaceable>
|
||
</term>
|
||
<listitem>
|
||
<para>
|
||
The full command string (including arguments) originally received
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>
|
||
<computeroutput>+</computeroutput>
|
||
</term>
|
||
<listitem>
|
||
<para>
|
||
ACK response, indicates success of the command.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>
|
||
<computeroutput>-</computeroutput>
|
||
</term>
|
||
<listitem>
|
||
<para>
|
||
NAK response, indicates failure of the command.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</sect1>
|
||
|
||
<sect1>
|
||
<title>Specifying Color</title>
|
||
<para>
|
||
In places where a color can be specified as a macro argument, the
|
||
following predefined values are valid:
|
||
</para>
|
||
<simplelist>
|
||
<member><userinput>white</userinput></member>
|
||
<member><userinput>red</userinput></member>
|
||
<member><userinput>green</userinput></member>
|
||
<member><userinput>blue</userinput></member>
|
||
<member><userinput>cyan</userinput></member>
|
||
<member><userinput>magenta</userinput></member>
|
||
<member><userinput>yellow</userinput></member>
|
||
<member><userinput>gray</userinput></member>
|
||
<member><userinput>lightGray</userinput></member>
|
||
<member><userinput>black</userinput></member>
|
||
<member><userinput>darkRed</userinput></member>
|
||
<member><userinput>darkGreen</userinput></member>
|
||
<member><userinput>darkBlue</userinput></member>
|
||
<member><userinput>darkCyan</userinput></member>
|
||
<member><userinput>darkMagenta</userinput></member>
|
||
<member><userinput>darkYellow</userinput></member>
|
||
<member><userinput>darkGray</userinput></member>
|
||
</simplelist>
|
||
</sect1>
|
||
|
||
<sect1>
|
||
<title>Binary Data</title>
|
||
<para>
|
||
Certain commands (e.g. <command>SO</command> and <command>UO</command>)
|
||
have the ability to transmit arbitrary binary data in addition to textual
|
||
characters. Such arbitrary binary data can be specified by means of
|
||
escape codes as follows:
|
||
</para>
|
||
<para>
|
||
<userinput>%</userinput><replaceable>hexcode</replaceable>
|
||
</para>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>
|
||
<replaceable>hexcode</replaceable>
|
||
</term>
|
||
<listitem>
|
||
Two digit numeric value of the byte to send in hexidecimal.
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
For example, the sequence 'TEST' followed by a carriage return/newline
|
||
could be specified as:
|
||
</para>
|
||
<para>
|
||
<userinput>TEST%0D%0A</userinput>
|
||
</para>
|
||
</sect1>
|
||
|
||
<sect1>
|
||
<title>Commands</title>
|
||
<sect2>
|
||
<title><command>Air Gate [AG]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>ripcd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>AG</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Process an RML only if the On-Air flag is ON.
|
||
</para>
|
||
<para>
|
||
<userinput>AG</userinput>
|
||
<replaceable>rml</replaceable>!
|
||
</para>
|
||
<para>
|
||
Execute RML <replaceable>rml</replaceable> only if the On-Air flag on
|
||
the local machine is ON.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Add Next [PX]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>rdairplay</command><manvolnum>1</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>PX</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Insert a cart in a log in the next to play position.
|
||
</para>
|
||
<para>
|
||
<userinput>PX
|
||
<replaceable>mach</replaceable>
|
||
<replaceable>cart</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Insert cart <replaceable>cart</replaceable>> in the next to play
|
||
position on log machine <replaceable>mach</replaceable>.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Binary Serial Out [BO]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>ripcd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>BO</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Output a string of binary codes.
|
||
</para>
|
||
<para>
|
||
<userinput>BO
|
||
<replaceable>portnum</replaceable>
|
||
<replaceable>hexcode</replaceable>
|
||
<replaceable>..</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Output a string of binary codes represented by
|
||
<replaceable>hexcode</replaceable> <replaceable>..</replaceable> on
|
||
serial port <replaceable>portnum</replaceable>!
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Clear Serial Trap [SC]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>ripcd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>SC</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Clear a serial trap.
|
||
</para>
|
||
<para>
|
||
<userinput>SC
|
||
<replaceable>portnum</replaceable>
|
||
<replaceable>cart</replaceable>
|
||
<replaceable>string</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
<userinput>SC
|
||
<replaceable>portnum</replaceable>
|
||
<replaceable>cart</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
<userinput>SC
|
||
<replaceable>portnum</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Clear a serial trap. The three argument form will clear all traps on
|
||
<replaceable>port</replaceable> that reference
|
||
<replaceable>cart</replaceable> and <replaceable>string</replaceable>.
|
||
The two argument form will clear all traps on
|
||
<replaceable>port</replaceable> that reference
|
||
<replaceable>cart</replaceable>, while the one argument form will
|
||
clear all traps on <replaceable>port</replaceable>.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Command Send [CC]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>ripcd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>CC</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Send RML to a remote host.
|
||
</para>
|
||
<para>
|
||
<userinput>CC
|
||
<replaceable>dest</replaceable>
|
||
[<userinput>:</userinput><replaceable>udpport</replaceable>]
|
||
<replaceable>rml</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Send the RML command <replaceable>rml</replaceable> to
|
||
<replaceable>dest</replaceable>.<replaceable>dest</replaceable> may be
|
||
either a Rivendell host name or an IP address. A UDP port value may be
|
||
optionally specified as <replaceable>udpport</replaceable> (default
|
||
value 5859).
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Connect Jack Ports [JC]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>ripcd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>JC</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Connect a JACK input port to an output port.
|
||
</para>
|
||
<para>
|
||
<userinput>JC
|
||
<replaceable>output</replaceable>
|
||
<replaceable>input</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Attempt to connect JACK input port <replaceable>input</replaceable>
|
||
to <replaceable>output</replaceable>.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Console Label [CL]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>ripcd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>CL</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Set the label on a control surface.
|
||
</para>
|
||
<para>
|
||
<userinput>CL
|
||
<replaceable>matrix</replaceable>
|
||
<replaceable>surface</replaceable>
|
||
<replaceable>chan</replaceable>
|
||
<replaceable>label</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
On matrix <replaceable>matrix</replaceable>, set the input
|
||
<replaceable>chan</replaceable> module label of control surface
|
||
<replaceable>surface</replaceable> to <replaceable>label</replaceable>.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Copy Cut [CP]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>rdcatchd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>CP</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Copy cut audio and metadata.
|
||
</para>
|
||
<para>
|
||
<userinput>CP
|
||
<replaceable>srccart</replaceable>
|
||
<replaceable>srccut</replaceable>
|
||
<replaceable>dstcart</replaceable>
|
||
<replaceable>dstcut</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Copy the audio and metadata from cut number
|
||
<replaceable>srccut</replaceable> in cart
|
||
<replaceable>srccart</replaceable> to cut number
|
||
<replaceable>dstcut</replaceable> in cart
|
||
<replaceable>dstcart</replaceable>. The destination cart/cut must
|
||
already exist.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Cut Event [CE]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>rdcatchd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>CE</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Place a cut event at the current location of an active RDCatch recording.
|
||
</para>
|
||
<para>
|
||
<userinput>CE
|
||
<replaceable>decknum</replaceable>
|
||
<replaceable>eventnum</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Place a cut event with event number
|
||
<replaceable>eventnum</replaceable> at the current position of the
|
||
active recording in RDCatch Deck
|
||
<replaceable>decknum</replaceable>.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Database Backup [DB]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>ripcd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>DB</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Backup the Rivendell database.
|
||
</para>
|
||
<para>
|
||
<userinput>DB
|
||
<replaceable>filename</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Create a backup copy of the active Rivendell database in
|
||
<replaceable>filename</replaceable>.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Disconnect Jack Ports [JD]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>ripcd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>JD</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Disconnect a JACK input port from an output port.
|
||
</para>
|
||
<para>
|
||
<userinput>JD
|
||
<replaceable>output</replaceable>
|
||
<replaceable>input</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Attempt to disconnect JACK input port <replaceable>input</replaceable>
|
||
from <replaceable>output</replaceable>.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Duck Panel Button [PD]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>rdairplay</command><manvolnum>1</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>PD</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Set the duck level of a SoundPanel button in RDAirPlay.
|
||
</para>
|
||
<para>
|
||
<userinput>PD
|
||
<replaceable>panel</replaceable>
|
||
<replaceable>col</replaceable>
|
||
<replaceable>row</replaceable>
|
||
<replaceable>level</replaceable>
|
||
<replaceable>fade</replaceable>
|
||
[<replaceable>mport</replaceable>]!</userinput>
|
||
</para>
|
||
<para>
|
||
Set the duck level of button at <replaceable>column</replaceable>,
|
||
<replaceable>row</replaceable>> of panel
|
||
<replaceable>panel</replaceable>.
|
||
Panel: <userinput>S1</userinput>...<userinput>S50</userinput> or
|
||
<userinput>U1</userinput>...<userinput>U50</userinput>;
|
||
<userinput>C</userinput> for <replaceable>panel</replaceable> means
|
||
currently selected panel.
|
||
If <replaceable>col</replaceable> and/or <replaceable>row</replaceable>
|
||
is <userinput>0</userinput>: duck all buttons in
|
||
<replaceable>col</replaceable> or <replaceable>row</replaceable>.
|
||
If playing, the audio fades to <replaceable>level</replaceable>
|
||
(in dbFS) in <replaceable>fade</replaceable> msecs.
|
||
If specified, only stop carts playing on panel port
|
||
<replaceable>mport</replaceable>. The duck level will be set to 0 after
|
||
the playback is finished, or the button is stopped or reset.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Execute Breakaway [DX]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>rdcartslots</command><manvolnum>1</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>DX</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Execute a breakaway.
|
||
</para>
|
||
<para>
|
||
<userinput>DX
|
||
<replaceable>slot</replaceable><replaceable>len</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Execute a breakaway of length <replaceable>len</replaceable> (in mS)
|
||
using the autofill carts configured for the service currently loaded
|
||
in the <replaceable>slot</replaceable> slot. The slot must be in
|
||
Breakaway mode. If a breakaway is currently executing, it will
|
||
immediately be aborted and a new one started. Passing a '0' for
|
||
<replaceable>len</replaceable> will cause any currently executing
|
||
breakaway immediately to be aborted and input audio restored.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Execute Cart [EX]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>rdcatchd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>EX</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Execute a macro cart.
|
||
</para>
|
||
<para>
|
||
<userinput>EX
|
||
<replaceable>cartnum</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Execute macro cart <replaceable>cartnum</replaceable> on the local host.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Fire Salvo [FS]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>ripcd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>FS</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Execute a switcher salvo.
|
||
</para>
|
||
<para>
|
||
<userinput>FS
|
||
<replaceable>matrix</replaceable>
|
||
<replaceable>salvo</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Fire salvo number <replaceable>salvo</replaceable> on matrix
|
||
<replaceable>matrix</replaceable>.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>GPI Enable [GE]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>ripcd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>GE</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Enable/disable a GPI line.
|
||
</para>
|
||
<para>
|
||
<userinput>GE
|
||
<replaceable>matrix</replaceable>
|
||
<replaceable>type</replaceable>
|
||
<replaceable>gpinum</replaceable>
|
||
<replaceable>state</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Enable or disable the GPI line of type <replaceable>type</replaceable>
|
||
indicated by <replaceable>gpinum</replaceable> on matrix
|
||
<replaceable>matrix</replaceable>. Possible types are:
|
||
</para>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term><userinput>I</userinput></term>
|
||
<listitem>Input</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><userinput>O</userinput></term>
|
||
<listitem>Output</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>GPI Enable [GE]</command> (old format, deprecated)</title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>ripcd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>GE</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Enable/disable a GPI line.
|
||
</para>
|
||
<para>
|
||
<userinput>GE
|
||
<replaceable>matrix</replaceable>
|
||
<replaceable>gpinum</replaceable>
|
||
<replaceable>state</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Enable or disable the GPI line indicated by
|
||
<replaceable>gpinum</replaceable> on matrix
|
||
<replaceable>matrix</replaceable>.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>GPI Set [GI]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>ripcd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>GI</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Set action in response to a GPIO event.
|
||
</para>
|
||
<para>
|
||
<userinput>GI
|
||
<replaceable>matrix</replaceable>
|
||
<replaceable>type</replaceable>
|
||
<replaceable>gpinum</replaceable>
|
||
<replaceable>state</replaceable>
|
||
<replaceable>cart</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Execute the macro cart <replaceable>cart</replaceable> upon transition
|
||
of the GPIO of type <replaceable>type</replaceable> and line
|
||
<replaceable>gpinum</replaceable> on matrix
|
||
<replaceable>matrix</replaceable> to <replaceable>state</replaceable>.
|
||
Possible types are:
|
||
</para>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term><userinput>I</userinput></term>
|
||
<listitem>Input</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><userinput>O</userinput></term>
|
||
<listitem>Output</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>GPI Set [GI]</command> (old format, deprecated)</title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>ripcd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>GI</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Set action in response to a GPIO event.
|
||
</para>
|
||
<para>
|
||
<userinput>GI
|
||
<replaceable>matrix</replaceable>
|
||
<replaceable>gpinum</replaceable>
|
||
<replaceable>state</replaceable>
|
||
<replaceable>cart</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Execute the macro cart <replaceable>cart</replaceable> upon transition
|
||
of the GPIO of line <replaceable>gpinum</replaceable> on matrix
|
||
<replaceable>matrix</replaceable> to <replaceable>state</replaceable>.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>GPO Set [GO]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>ripcd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>GO</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Set the state of a GPIO line.
|
||
</para>
|
||
<para>
|
||
<userinput>GO
|
||
<replaceable>matrix</replaceable>
|
||
<replaceable>type</replaceable>
|
||
<replaceable>gponum</replaceable>
|
||
<replaceable>state</replaceable>
|
||
<replaceable>length</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Command GPIO line <replaceable>gponum</replaceable> of type
|
||
<replaceable>type</replaceable> on matrix
|
||
<replaceable>matrix</replaceable>> to <replaceable>state</replaceable>
|
||
for <replaceable>length</replaceable>> mS. A length of
|
||
<userinput>0</userinput> indicates to hold the state indefinitely.
|
||
Possible types are:
|
||
</para>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term><userinput>I</userinput></term>
|
||
<listitem>Input</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><userinput>O</userinput></term>
|
||
<listitem>Output</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Possible states are:
|
||
</para>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term><userinput>0</userinput></term>
|
||
<listitem>OFF</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><userinput>1</userinput></term>
|
||
<listitem>ON</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><userinput>-1</userinput></term>
|
||
<listitem>Passthrough hardware input (valid only for Input type)</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>GPO Set [GO]</command> (old format, deprecated)</title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>ripcd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>GO</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Set the state of a GPIO line.
|
||
</para>
|
||
<para>
|
||
<userinput>GO
|
||
<replaceable>matrix</replaceable>
|
||
<replaceable>gponum</replaceable>
|
||
<replaceable>state</replaceable>
|
||
<replaceable>length</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Command GPIO line <replaceable>gponum</replaceable> on matrix
|
||
<replaceable>matrix</replaceable>> to <replaceable>state</replaceable>
|
||
for <replaceable>length</replaceable>> mS. A length of
|
||
<userinput>0</userinput> indicates to hold the state indefinitely.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Insert Serial Trap [SI]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>ripcd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>SI</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Insert a serial trap to detect a character sequence.
|
||
</para>
|
||
<para>
|
||
<userinput>SI
|
||
<replaceable>portnum</replaceable>
|
||
<replaceable>cart</replaceable>
|
||
<replaceable>string</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Insert a serial trap to execute the macro cart
|
||
<replaceable>cart</replaceable> upon receipt of
|
||
<replaceable>string</replaceable> on serial port
|
||
<replaceable>port</replaceable>.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Label Panel [PC]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>rdairplay</command><manvolnum>1</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>PC</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Set the label of a SoundPanel button in RDAirPlay.
|
||
</para>
|
||
<para>
|
||
<userinput>PC
|
||
<replaceable>panel</replaceable>
|
||
<replaceable>col</replaceable>
|
||
<replaceable>row</replaceable>
|
||
<replaceable>label</replaceable>
|
||
<replaceable>color</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Set the button at <replaceable>col</replaceable>,
|
||
<replaceable>row</replaceable> of panel <replaceable>panel</replaceable>
|
||
to have a text label of <replaceable>label</replaceable> and a
|
||
background color of <replaceable>color</replaceable>.
|
||
Panel: <userinput>S1</userinput>...<userinput>S50</userinput> or
|
||
<userinput>U1</userinput>...<userinput>U50</userinput>;
|
||
<userinput>C</userinput> for <replaceable>panel</replaceable> means
|
||
currently selected panel.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Load Log [LL]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>rdairplay</command><manvolnum>1</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>LL</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Load a log into RDAirPlay.
|
||
</para>
|
||
<para>
|
||
<userinput>LL
|
||
<replaceable>mach</replaceable>
|
||
[<replaceable>logname</replaceable>]
|
||
[<replaceable>startline</replaceable>]!</userinput>
|
||
</para>
|
||
<para>
|
||
Load the log <replaceable>logname</replaceable> in log machine
|
||
<replaceable>mach</replaceable>. After loading, start the log at line
|
||
<replaceable>startline</replaceable> if it is >=0. If
|
||
<replaceable>startline</replaceable> is -2, the log will be started at
|
||
the first event if that event does not have a 'stop' transition.
|
||
Default <replaceable>startline</replaceable>=-1. If no
|
||
<replaceable>log</replaceable>> is specified, the machine's current log
|
||
is unloaded.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Load Panel [PE]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>rdairplay</command><manvolnum>1</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>PE</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Load a cart into a SoundPanel button in RDAirPlay.
|
||
</para>
|
||
<para>
|
||
<userinput>PE
|
||
<replaceable>panel</replaceable>
|
||
<replaceable>col</replaceable>
|
||
<replaceable>row</replaceable>
|
||
<replaceable>cart</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Load cart <replaceable>cart</replaceable> into the button at
|
||
<replaceable>col</replaceable>,<replaceable>row</replaceable> of panel
|
||
<replaceable>panel</replaceable>.
|
||
Panel: <userinput>S1</userinput>...<userinput>S50</userinput> or
|
||
<userinput>U1</userinput>...<userinput>U50</userinput>;
|
||
<userinput>C</userinput> for <replaceable>panel</replaceable> means
|
||
currently selected panel.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Load Slot [DL]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>rdcartslots</command><manvolnum>1</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>DL</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Load an RDCartSlots slot.
|
||
</para>
|
||
<para>
|
||
This command has two syntaxes, depending upon the mode of the slot.
|
||
</para>
|
||
<para>
|
||
Cart Deck Mode syntax:
|
||
</para>
|
||
<para>
|
||
<userinput>DL
|
||
<replaceable>slot</replaceable>
|
||
<replaceable>cart</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Load the cart <replaceable>cart</replaceable> into the
|
||
<replaceable>slot</replaceable> slot. Passing a '0' for
|
||
<replaceable>cart</replaceable> will cause the slot to be unloaded.
|
||
This command will be ignored if the slot is currently playing.
|
||
</para>
|
||
<para>
|
||
Breakaway Mode syntax:
|
||
</para>
|
||
<para>
|
||
<userinput>DL
|
||
<replaceable>slot</replaceable>
|
||
<replaceable>svcname</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Set the <replaceable>slot</replaceable> slot to use service
|
||
<replaceable>svcname</replaceable>. Omitting the
|
||
<replaceable>svcname</replaceable> argument will cause the slot to be
|
||
unloaded. This command will be ignored if the slot is currently
|
||
executing a breakaway.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Login [LO]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>ripcd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>LO</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Change the active Rivendell user context.
|
||
</para>
|
||
<para>
|
||
<userinput>LO
|
||
<replaceable>user</replaceable>
|
||
<replaceable>password</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Set the current Rivendell user to <replaceable>user</replaceable>.
|
||
If no arguments are supplied, log out the station --i.e. revert to the
|
||
default user.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Macro Timer [MT]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>ripcd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>MT</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Timer for running macro carts.
|
||
</para>
|
||
<para>
|
||
<userinput>MT
|
||
<replaceable>timernum</replaceable>
|
||
<replaceable>timeout</replaceable>
|
||
<replaceable>cart</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Set the macro timer <replaceable>timernum</replaceable> to execute macro
|
||
cart <replaceable>cart</replaceable> in
|
||
<replaceable>timeout</replaceable> milliseconds. Setting
|
||
<replaceable>timeout</replaceable> to <userinput>0</userinput> disables
|
||
the timer. Sixteen macro timers (numbered 1-16) are available on each
|
||
Rivendell host.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Make Next [MN]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>rdairplay</command><manvolnum>1</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>MN</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Load changes to a currently loaded log in RDAirPlay.
|
||
</para>
|
||
<para>
|
||
<userinput>RL
|
||
<replaceable>mach</replaceable>
|
||
<replaceable>line</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Set the next event for log machine <replaceable>mach</replaceable> to
|
||
line <replaceable>line</replaceable>>.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Message Box [MB]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>ripcd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>MB</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Display a popup message box on a host display.
|
||
</para>
|
||
<para>
|
||
<userinput>MB
|
||
<replaceable>display</replaceable>
|
||
<replaceable>severity</replaceable>
|
||
<replaceable>msg</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Display the text <replaceable>msg</replaceable> in a popup window on X
|
||
display <replaceable>display</replaceable>, with an icon to indicate
|
||
<replaceable>severity</replaceable>. Valid values of
|
||
<replaceable>severity</replaceable> are:
|
||
</para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term><userinput>1</userinput></term>
|
||
<listitem>Information</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><userinput>2</userinput></term>
|
||
<listitem>Warning</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><userinput>3</userinput></term>
|
||
<listitem>Critical</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Pause Panel [PU]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>rdairplay</command><manvolnum>1</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>PU</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Pause a SoundPanel button in RDAirPlay.
|
||
</para>
|
||
<para>
|
||
<userinput>PU
|
||
<replaceable>panel</replaceable>
|
||
<replaceable>col</replaceable>
|
||
<replaceable>row</replaceable>
|
||
[<replaceable>mport</replaceable>]!</userinput>
|
||
</para>
|
||
<para>
|
||
Pause the button at <replaceable>col</replaceable>,
|
||
<replaceable>row</replaceable> of panel <replaceable>panel</replaceable>.
|
||
Panel: <userinput>S1</userinput>...<userinput>S50</userinput> or
|
||
<userinput>U1</userinput>...<userinput>U50</userinput>;
|
||
<userinput>C</userinput> for <replaceable>panel</replaceable> means
|
||
currently selected panel.
|
||
If <replaceable>col</replaceable> and/or <replaceable>row</replaceable>
|
||
is <userinput>0</userinput>: pause all playing buttons in
|
||
<replaceable>col</replaceable> or <replaceable>row</replaceable>.
|
||
If specified, start the playout on panel port
|
||
<replaceable>mport</replaceable>.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Play Panel [PP]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>rdairplay</command><manvolnum>1</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>PP</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Load a cart into a SoundPanel button in RDAirPlay.
|
||
</para>
|
||
<para>
|
||
<userinput>PP
|
||
<replaceable>panel</replaceable>
|
||
<replaceable>col</replaceable>
|
||
<replaceable>row</replaceable>
|
||
[<replaceable>mport</replaceable>]
|
||
[0|1]!</userinput>
|
||
</para>
|
||
<para>
|
||
Play the button at <replaceable>col</replaceable>,
|
||
<replaceable>row</replaceable> of panel <replaceable>panel</replaceable>.
|
||
Panel: <userinput>S1</userinput>...<userinput>S50</userinput> or
|
||
<userinput>U1</userinput>...<userinput>U50</userinput>;
|
||
<userinput>C</userinput> for <replaceable>panel</replaceable> means
|
||
currently selected panel.
|
||
If <replaceable>col</replaceable> and/or <replaceable>row</replaceable>
|
||
is <userinput>0</userinput>: Start the first loaded button that is not
|
||
active. If specified, start the playout on panel port
|
||
<replaceable>mport</replaceable>. The started panel will stay active when
|
||
finished, if the 5th argument is <userinput>1</userinput>.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Play Slot [DP]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>rdcartslots</command><manvolnum>1</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>DP</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Play an RDCartSlots slot.
|
||
</para>
|
||
<para>
|
||
<userinput>DP
|
||
<replaceable>slot</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Play the cart currently loaded in the <replaceable>slot</replaceable>
|
||
slot. The slot must be in Cart Deck mode. This command will be
|
||
ignored if the slot is unloaded or already playing.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Refresh Log [RL]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>rdairplay</command><manvolnum>1</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>RL</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Load changes to a currently loaded log in RDAirPlay.
|
||
</para>
|
||
<para>
|
||
<userinput>RL
|
||
<replaceable>mach</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Refresh the log currently loaded in log machine
|
||
<replaceable>mach</replaceable>.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Run Shell Command [RN]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>ripcd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>RN</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Run a shell command.
|
||
</para>
|
||
<para>
|
||
<userinput>RN
|
||
<replaceable>cmd</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Run the shell command <replaceable>cmd</replaceable>.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Select Widget [PW]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>rdairplay</command><manvolnum>1</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>PW</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Select right-hand widget in RDAirPlay.
|
||
</para>
|
||
<para>
|
||
<userinput>PW
|
||
<replaceable>mach</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Select right-hand widget to log-machine <replaceable>mach</replaceable>
|
||
or <userinput>0</userinput> for sound panel.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Serial Out [SO]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>ripcd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>SO</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Output a string on a serial port.
|
||
</para>
|
||
<para>
|
||
<userinput>SO
|
||
<replaceable>portnum</replaceable>
|
||
<replaceable>data</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Output <replaceable>data</replaceable> on serial port
|
||
<replaceable>portnum</replaceable>. <replaceable>data</replaceable> can
|
||
consist of arbitrary binary data as well as textual characters (see
|
||
<command>Binary Data</command> above).
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Serial Reload [SY]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>ripcd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>SY</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Reload the configuration for a serial port.
|
||
</para>
|
||
<para>
|
||
<userinput>SY
|
||
<replaceable>portnum</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Reload the configuration for serial port
|
||
<replaceable>portnum</replaceable>. Normally, this should only be
|
||
issued by RDAdmin following a configuration change.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Set Color Label [LC]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>rdairplay</command><manvolnum>1</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>LC</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Display a color message in the label widget on RDAirPlay.
|
||
</para>
|
||
<para>
|
||
<userinput>LC
|
||
<replaceable>color</replaceable>
|
||
<replaceable>string</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Display <replaceable>string</replaceable>> in color
|
||
<replaceable>color</replaceable> in the message widget.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Set Default Now & Next Cart [SN]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>rdairplay</command><manvolnum>1</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>SN</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Set the default Now & Next cart.
|
||
</para>
|
||
<para>
|
||
<userinput>SN
|
||
now</userinput>|<userinput>next
|
||
<replaceable>mach</replaceable>
|
||
<replaceable>cart</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Set the default Now & Next cart for log
|
||
<replaceable>mach</replaceable> to <replaceable>cart</replaceable>.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Set Display [SD]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>ripcd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>SD</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Set a console display.
|
||
</para>
|
||
<para>
|
||
<userinput>SD
|
||
<replaceable>matrix</replaceable>
|
||
<replaceable>display</replaceable>
|
||
<replaceable>line</replaceable>
|
||
<replaceable>col</replaceable>
|
||
<replaceable>attr</replaceable>
|
||
<replaceable>label</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
On matrix <replaceable>matrix</replaceable>, set the console display
|
||
<replaceable>display</replaceable> to <replaceable>label</replaceable>,
|
||
starting at position <replaceable>line</replaceable>,
|
||
<replaceable>col</replaceable> and using message attributes
|
||
<replaceable>attr</replaceable>.
|
||
</para>
|
||
<para>
|
||
The message attributes value is constructed as follows:
|
||
</para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Bit 7</term>
|
||
<listitem>Display mode</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Bits 6,5</term>
|
||
<listitem>Video attribute</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Bit 2,1,0</term>
|
||
<listitem>Message Text Color</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
<para>
|
||
Display Mode:
|
||
</para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>0</term>
|
||
<listitem>Overwrite text</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>1</term>
|
||
<listitem>Insert text</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
<para>
|
||
Video Attribute:
|
||
</para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>00</term>
|
||
<listitem>Normal</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>01</term>
|
||
<listitem>Flash</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>02</term>
|
||
<listitem>Reverse</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
<para>
|
||
Text Color:
|
||
</para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>000</term>
|
||
<listitem>White</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>001</term>
|
||
<listitem>Red</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>010</term>
|
||
<listitem>Yellow</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>011</term>
|
||
<listitem>Green</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>100</term>
|
||
<listitem>Cyan</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>101</term>
|
||
<listitem>Magenta</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Set Duck Level [MD]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>rdairplay</command><manvolnum>1</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>MD</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Set duck level for an RDAirPlay log machine.
|
||
</para>
|
||
<para>
|
||
<userinput>MD
|
||
<replaceable>mach</replaceable>
|
||
<replaceable>level</replaceable>
|
||
<replaceable>fade</replaceable>
|
||
[<replaceable>mport</replaceable>]!</userinput>
|
||
</para>
|
||
<para>
|
||
Set the duck level of <replaceable>mach</replaceable>, or
|
||
<userinput>0</userinput> for all log machines. If playing, the audio
|
||
fades to <replaceable>level</replaceable> (in dbFS) in
|
||
<replaceable>fade</replaceable> msecs. If specified, only affect carts
|
||
playing on machine port <replaceable>mport</replaceable>.
|
||
Loading or clearing a log will set the duck level back to 0.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Set Label [LB]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>rdairplay</command><manvolnum>1</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>LB</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Display a message in the label widget on RDAirPlay.
|
||
</para>
|
||
<para>
|
||
<userinput>LB
|
||
<replaceable>string</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Display <replaceable>string</replaceable>> in the message widget.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Set Mode [PM]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>rdairplay</command><manvolnum>1</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>PM</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Set the mode of an RDAirPlay log machine.
|
||
</para>
|
||
<para>
|
||
<userinput>PM
|
||
<replaceable>mode</replaceable>
|
||
[<replaceable>mach</replaceable>]!</userinput>
|
||
</para>
|
||
<para>
|
||
Set log machine <replaceable>mach</replaceable> to mode
|
||
<replaceable>mode</replaceable>. If mode is not given or the Mode
|
||
Control Style is set to 'Unified', then all log machines are set to
|
||
<replaceable>mode</replaceable>. Valid values for
|
||
<replaceable>mode</replaceable> are:
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>1</term>
|
||
<listitem>LiveAssist</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>2</term>
|
||
<listitem>Auto</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>3</term>
|
||
<listitem>Manual</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Sleep [SP]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>ripcd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>SP</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Pause for specified time.
|
||
</para>
|
||
<para>
|
||
<userinput>SP
|
||
<replaceable>msecs</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Wait for <replaceable>msecs</replaceable> milliseconds.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Start [PL]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>rdairplay</command><manvolnum>1</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>PL</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Start a log at a specified line.
|
||
</para>
|
||
<para>
|
||
<userinput>PL
|
||
<replaceable>mach</replaceable>
|
||
<replaceable>line</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Start log machine <replaceable>mach</replaceable> at line
|
||
<replaceable>line</replaceable> if stopped, otherwise do nothing.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Start Button [PB]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>rdairplay</command><manvolnum>1</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>PB</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Push an RDAirPlay Start button.
|
||
</para>
|
||
<para>
|
||
<userinput>PB
|
||
<replaceable>button</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Push button <replaceable>button</replaceable>.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Start Next [PN]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>rdairplay</command><manvolnum>1</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>PN</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Start the next event in a log.
|
||
</para>
|
||
<para>
|
||
<userinput>PN
|
||
<replaceable>mach</replaceable>
|
||
[<replaceable>mport</replaceable>]
|
||
[<replaceable>skip</replaceable>]!</userinput>
|
||
</para>
|
||
<para>
|
||
Start log machine <replaceable>mach</replaceable>> if stopped, or start
|
||
next event if already running. If specified, start the playout on
|
||
machine port <replaceable>mport</replaceable>>. If
|
||
<replaceable>skip</replaceable> is supplied, equal to '1' and the log
|
||
machine is in Manual or Live Assist mode, then any intervening
|
||
meta-events in log between the current 'next' event and the next cart
|
||
will be skipped over.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Start Record Deck [RS]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>rdcatchd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>RS</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Start an RDCatch Recording
|
||
</para>
|
||
<para>
|
||
<userinput>RS
|
||
<replaceable>decknum</replaceable>
|
||
<replaceable>cartnum</replaceable>
|
||
<replaceable>cutnum</replaceable>
|
||
<replaceable>maxlen</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Start recording to cut <replaceable>cutnum</replaceable> of cart
|
||
<replaceable>cartnum</replaceable>, using RDCatch record deck
|
||
<replaceable>decknum</replaceable> for a maximum time of
|
||
<replaceable>maxlen</replaceable> mS. The record parameters used
|
||
(format, sample rate, channels, etc) will be those configured for the
|
||
selected deck in RDAdmin->ManageHosts->RDCatch. The selected cart and
|
||
cut must already exist. Any audio previously residing in the selected
|
||
cart and cut will be overwritten.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Stop [PS]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>rdairplay</command><manvolnum>1</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>PS</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Stop a log in RDAirPlay.
|
||
</para>
|
||
<para>
|
||
<userinput>PS
|
||
<replaceable>mach</replaceable>|<userinput>0</userinput>
|
||
[<replaceable>fade</replaceable>]
|
||
[<replaceable>mport</replaceable>]!</userinput>
|
||
</para>
|
||
<para>
|
||
Stop log machine <replaceable>mach</replaceable>, or
|
||
<userinput>0</userinput> for all log machines. If specified, only stop
|
||
carts playing on machine port <replaceable>mport</replaceable>. If
|
||
specified, fade out <replaceable>fade</replaceable> msecs.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Stop Panel [PT]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>rdairplay</command><manvolnum>1</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>PT</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Stop a SoundPanel button in RDAirPlay.
|
||
</para>
|
||
<para>
|
||
<userinput>PT
|
||
<replaceable>panel</replaceable>
|
||
<replaceable>col</replaceable>
|
||
<replaceable>row</replaceable>
|
||
[<replaceable>mport</replaceable>]
|
||
[0|1]
|
||
<replaceable>fade</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Stop the button at <replaceable>col</replaceable>,
|
||
<replaceable>row</replaceable> of panel <replaceable>panel</replaceable>.
|
||
Panel: <userinput>S1</userinput>...<userinput>S50</userinput> or
|
||
<userinput>U1</userinput>...<userinput>U50</userinput>;
|
||
<userinput>C</userinput> for <replaceable>panel</replaceable> means
|
||
currently selected panel.
|
||
If <replaceable>col</replaceable> and/or <replaceable>row</replaceable>
|
||
is <userinput>0</userinput>: stop all playing buttons in
|
||
<replaceable>col</replaceable> or <replaceable>row</replaceable>.
|
||
If specified, start the playout on panel port
|
||
<replaceable>mport</replaceable>. The stopped panel will stay active when
|
||
finished, if the 5th argument is <userinput>1</userinput>.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Stop Record Deck [RR]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>rdcatchd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>RR</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Stop an RDCatch Recording
|
||
</para>
|
||
<para>
|
||
<userinput>RR
|
||
<replaceable>decknum</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Stop any active recording on RDCatch deck <replaceable>decknum</replaceable>.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Stop Slot [DS]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>rdcartslots</command><manvolnum>1</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>DS</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Stop an RDCartSlots slot.
|
||
</para>
|
||
<para>
|
||
<userinput>DS
|
||
<replaceable>slot</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Stop the cart currently loaded in the <replaceable>slot</replaceable>
|
||
slot. The slot must be in Cart Deck mode. This command will be
|
||
ignored if the slot is unloaded or already playing.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Switch Add [SA]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>ripcd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>SA</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Add an input to an output.
|
||
</para>
|
||
<para>
|
||
<userinput>SA
|
||
<replaceable>matrix</replaceable>
|
||
<replaceable>input</replaceable>
|
||
<replaceable>output</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Command switch matrix number <replaceable>matrix</replaceable> to add
|
||
input number <replaceable>input</replaceable> to output number
|
||
<replaceable>output</replaceable>. Unlike <command>SWITCH TAKE</command>,
|
||
this command leaves any other previously assigned inputs unchanged.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Switch Add With Gain [SG]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>ripcd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>SG</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Add an input to an output while specifyng the crosspoint gain.
|
||
</para>
|
||
<para>
|
||
<userinput>SG
|
||
<replaceable>matrix</replaceable>
|
||
<replaceable>input</replaceable>
|
||
<replaceable>output</replaceable>
|
||
<replaceable>gain</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Command switch matrix number <replaceable>matrix</replaceable> to add
|
||
input number <replaceable>input</replaceable> to output number
|
||
<replaceable>output</replaceable> at gain <replaceable>gain</replaceable>.
|
||
The gain is specified in 1/10 of a dB, with 0 = unity gain.
|
||
Unlike <command>SWITCH TAKE</command>, this command leaves any other
|
||
previously assigned inputs unchanged.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Switch Crosspoint Gain [SX]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>ripcd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>SX</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Set crosspoint gain.
|
||
</para>
|
||
<para>
|
||
<userinput>SX
|
||
<replaceable>matrix</replaceable>
|
||
<replaceable>input</replaceable>
|
||
<replaceable>output</replaceable>
|
||
<replaceable>level</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Command switch matrix number <replaceable>matrix</replaceable> to adjust
|
||
the gain of the crosspoint connecting input
|
||
<replaceable>input</replaceable> to output
|
||
<replaceable>output</replaceable> to <replaceable>level</replaceable> dB.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Switch Level [SL]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>ripcd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>SL</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Set input gain.
|
||
</para>
|
||
<para>
|
||
<userinput>SL
|
||
<replaceable>matrix</replaceable>
|
||
<replaceable>input</replaceable>
|
||
<replaceable>level</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Command switch matrix number <replaceable>matrix</replaceable> to adjust
|
||
the gain of input number <replaceable>input</replaceable> to
|
||
<replaceable>level</replaceable> dB.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Switch Reload [SZ]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>ripcd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>SZ</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Reload the configuration for a switch matrix.
|
||
</para>
|
||
<para>
|
||
<userinput>SZ
|
||
<replaceable>matrix</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Reload the configuration for switch matrix
|
||
<replaceable>matrix</replaceable>. Normally, this should only be
|
||
issued by RDAdmin following a configuration change.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Switch Remove [SR]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>ripcd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>SR</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Remove an input from an output.
|
||
</para>
|
||
<para>
|
||
<userinput>SR
|
||
<replaceable>matrix</replaceable>
|
||
<replaceable>input</replaceable>
|
||
<replaceable>output</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Command switch matrix number <replaceable>matrix</replaceable> to remove
|
||
input number <replaceable>input</replaceable> from output number
|
||
<replaceable>output</replaceable>. Unlike <command>SWITCH TAKE</command>,
|
||
this command leaves any other previously assigned inputs unchanged.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Switch Take [ST]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>ripcd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>ST</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Exclusively route an input to an output.
|
||
</para>
|
||
<para>
|
||
<userinput>ST
|
||
<replaceable>matrix</replaceable>
|
||
<replaceable>input</replaceable>
|
||
<replaceable>output</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Command switch matrix number <replaceable>matrix</replaceable> to take
|
||
input number <replaceable>input</replaceable> to output number
|
||
<replaceable>output</replaceable>. "Take" in this context implies
|
||
removing any previously assigned inputs from the referenced output.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>Toggle On Air Flag [TA]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>ripcd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>TA</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Set the state of the On Air flag.
|
||
</para>
|
||
<para>
|
||
<userinput>TA 0</userinput>|<userinput>1!</userinput>
|
||
</para>
|
||
<para>
|
||
Set the On-Air flag to ON [<userinput>1</userinput>] or OFF
|
||
[<userinput>0</userinput>].
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><command>UDP Out [UO]</command></title>
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Module</term>
|
||
<listitem><command>ripcd</command><manvolnum>8</manvolnum></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Mnemonic</term>
|
||
<listitem><userinput>UO</userinput></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<para>
|
||
Send data to a UDP port.
|
||
</para>
|
||
<para>
|
||
<userinput>UO
|
||
<replaceable>ipaddr</replaceable>
|
||
<replaceable>udpport</replaceable>
|
||
<replaceable>data</replaceable>!</userinput>
|
||
</para>
|
||
<para>
|
||
Send <replaceable>data</replaceable> in a UDP packet to port
|
||
<replaceable>udpport</replaceable> at <replaceable>ipaddr</replaceable>.
|
||
<replaceable>data</replaceable> can consist of arbitrary binary data as
|
||
well as textual characters (see <command>Binary Data</command> above).
|
||
</para>
|
||
</sect2>
|
||
</sect1>
|
||
</chapter>
|
||
|
||
<chapter>
|
||
<title>Interfacing with the Linux Ecosystem: RMLSend and RDImport</title>
|
||
<sect1>
|
||
<title>RMLSend</title>
|
||
<para>
|
||
RMLSend is a small utility that can be used to send RML commands to a
|
||
local or remote Rivendell host. It can operate in two modes: GUI or
|
||
a command line interface (CLI).
|
||
</para>
|
||
<para>
|
||
If started with no arguments, RMLSend will come up in GUI mode (see
|
||
Illustration 65).
|
||
</para>
|
||
<para>
|
||
The Sent To: should have the name or IP address of the system to which
|
||
to send the RML. Dest: controls the method by which the command will
|
||
be sent. 'RML' is standard RML transmission that returns an echo code
|
||
to indicate success/failure. 'RML (No echo)' does not return an echo
|
||
code, while 'Set Port' allows the destination UDP port to be set
|
||
(useful for controlling Rivendell from outside firewalls). Command:
|
||
is the RML command to be sent, and Response: will show any echo code
|
||
returned from the remote system (or 'No response' if no reply is
|
||
received). Touching the Send Command button actually sends the command.
|
||
</para>
|
||
<para>
|
||
RMLSend also has a full-featured command-line facility that allows
|
||
Rivendell commands to be sent using the standard Linux CLI utilities.
|
||
Consult the <command>rmlsend</command><manvolnum>1</manvolnum> man
|
||
page for details.
|
||
</para>
|
||
</sect1>
|
||
<sect1>
|
||
<title>RDImport</title>
|
||
<para>
|
||
RDImport is a command-line interface (CLI) program that can be used to
|
||
import audio material into the Rivendell Library. It is particularly
|
||
useful in situations where a large number of audio files need to be
|
||
imported in an automated fashion, and is capable of importing
|
||
thousands of files with a single command-line invocation. Consult
|
||
the <command>rdimport</command><manvolnum>1</manvolnum> man page for
|
||
details.
|
||
</para>
|
||
</sect1>
|
||
</chapter>
|
||
|
||
<chapter>
|
||
<title>The GNU General Public License, Version Two</title>
|
||
<sect1>
|
||
<title>GNU GENERAL PUBLIC LICENSE</title>
|
||
<subtitle>Version 2, June 1991</subtitle>
|
||
<para>
|
||
Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple
|
||
Place, Suite 330, Boston, MA 02111-1307 USA.
|
||
</para>
|
||
<para>
|
||
Everyone is permitted to copy and distribute verbatim copies of
|
||
this license document, but changing it is not allowed.
|
||
</para>
|
||
<sect2>
|
||
<title>Preamble</title>
|
||
<para>
|
||
The licenses for most software are designed to take away your
|
||
freedom to share and change it. By contrast, the GNU General Public
|
||
License is intended to guarantee your freedom to share and change
|
||
free software--to make sure the software is free for all its users.
|
||
This General Public License applies to most of the Free Software
|
||
Foundation's software and to any other program whose authors commit
|
||
to using it. (Some other Free Software Foundation software is
|
||
covered by the GNU Library General Public License instead.)
|
||
You can apply it to your programs, too.
|
||
</para>
|
||
<para>
|
||
When we speak of free software, we are referring to freedom, not
|
||
price. Our General Public Licenses are designed to make sure that
|
||
you have the freedom to distribute copies of free software (and
|
||
charge for this service if you wish), that you receive source code
|
||
or can get it if you want it, that you can change the software or
|
||
use pieces of it in new free programs; and that you know you can do
|
||
these things.
|
||
</para>
|
||
<para>
|
||
To protect your rights, we need to make restrictions that forbid
|
||
anyone to deny you these rights or to ask you to surrender the
|
||
rights. These restrictions translate to certain responsibilities
|
||
for you if you distribute copies of the software, or if you modify
|
||
it.
|
||
</para>
|
||
<para>
|
||
For example, if you distribute copies of such a program, whether
|
||
gratis or for a fee, you must give the recipients all the rights
|
||
that you have. You must make sure that they, too, receive or can
|
||
get the source code. And you must show them these terms so they
|
||
know their rights.
|
||
</para>
|
||
<para>
|
||
We protect your rights with two steps: (1) copyright the software,
|
||
and (2) offer you this license which gives you legal permission to
|
||
copy, distribute and/or modify the software.
|
||
</para>
|
||
<para>
|
||
Also, for each author's protection and ours, we want to make certain
|
||
that everyone understands that there is no warranty for this free
|
||
software. If the software is modified by someone else and passed
|
||
on, we want its recipients to know that what they have is not the
|
||
original, so that any problems introduced by others will not reflect
|
||
on the original authors' reputations.
|
||
</para>
|
||
<para>
|
||
Finally, any free program is threatened constantly by software
|
||
patents. We wish to avoid the danger that redistributors of a free
|
||
program will individually obtain patent licenses, in effect making
|
||
the program proprietary. To prevent this, we have made it clear
|
||
that any patent must be licensed for everyone's free use or not
|
||
licensed at all.
|
||
</para>
|
||
<para>
|
||
The precise terms and conditions for copying, distribution and
|
||
modification follow.
|
||
</para>
|
||
</sect2>
|
||
<sect2>
|
||
<title>GNU GENERAL PUBLIC LICENSE</title>
|
||
<subtitle>TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND
|
||
MODIFICATION</subtitle>
|
||
<orderedlist startingnumber="0" numeration="arabic">
|
||
<listitem>
|
||
<para>
|
||
This License applies to any program or other work which contains
|
||
a notice placed by the copyright holder saying it may be
|
||
distributed under the terms of this General Public License. The
|
||
"Program", below, refers to any such program or work,
|
||
and a "work based on the Program" means either the
|
||
Program or any derivative work under copyright law: that is to
|
||
say, a work containing the Program or a portion of it, either
|
||
verbatim or with modifications and/or translated into another
|
||
language. (Hereinafter, translation is included without
|
||
limitation in the term "modification".) Each licensee
|
||
is addressed as "you".
|
||
</para>
|
||
<para>
|
||
Activities other than copying, distribution and modification are
|
||
not covered by this License; they are outside its scope. The act
|
||
of running the Program is not restricted, and the output from
|
||
the Program is covered only if its contents constitute a work
|
||
based on the Program (independent of having been made by running
|
||
the Program). Whether that is true depends on what the Program
|
||
does.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
You may copy and distribute verbatim copies of the Program's
|
||
source code as you receive it, in any medium, provided that you
|
||
conspicuously and appropriately publish on each copy an
|
||
appropriate copyright notice and disclaimer of warranty; keep
|
||
intact all the notices that refer to this License and to the
|
||
absence of any warranty; and give any other recipients of the
|
||
Program a copy of this License along with the Program.
|
||
</para>
|
||
<para>
|
||
You may charge a fee for the physical act of transferring a copy,
|
||
and you may at your option offer warranty protection in exchange
|
||
for a fee.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
You may modify your copy or copies of the Program or any portion
|
||
of it, thus forming a work based on the Program, and copy and
|
||
distribute such modifications or work under the terms of Section
|
||
1 above, provided that you also meet all of these conditions:
|
||
</para>
|
||
<orderedlist startingnumber="1" numeration="loweralpha">
|
||
<listitem>
|
||
<para>
|
||
You must cause the modified files to carry prominent notices
|
||
stating that you changed the files and the date of any change.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
You must cause any work that you distribute or publish, that
|
||
in whole or in part contains or is derived from the Program
|
||
or any part thereof, to be licensed as a whole at no charge
|
||
to all third parties under the terms of this License.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
If the modified program normally reads commands interactively
|
||
when run, you must cause it, when started running for such
|
||
interactive use in the most ordinary way, to print or display
|
||
an announcement including an appropriate copyright notice and a
|
||
notice that there is no warranty (or else, saying that you
|
||
provide a warranty) and that users may redistribute the
|
||
program under these conditions, and telling the user how to
|
||
view a copy of this License. (Exception: if the Program
|
||
itself is interactive but does not normally print such an
|
||
announcement, your work based on the Program is not required
|
||
to print an announcement.)
|
||
</para>
|
||
<para>
|
||
These requirements apply to the modified work as a whole. If
|
||
identifiable sections of that work are not derived from the
|
||
Program, and can be reasonably considered independent and
|
||
separate works in themselves, then this License, and its
|
||
terms, do not apply to those sections when you distribute
|
||
them as separate works. But when you distribute the same
|
||
sections as part of a whole which is a work based on the
|
||
Program, the distribution of the whole must be on the terms
|
||
of this License, whose permissions for other licensees extend
|
||
to the entire whole, and thus to each and every part
|
||
regardless of who wrote it.
|
||
</para>
|
||
<para>
|
||
Thus, it is not the intent of this section to claim rights
|
||
or contest your rights to work written entirely by you;
|
||
rather, the intent is to exercise the right to control the
|
||
distribution of derivative or collective works based on the
|
||
Program.
|
||
</para>
|
||
<para>
|
||
In addition, mere aggregation of another work not based on
|
||
the Program with the Program (or with a work based on the
|
||
Program) on a volume of a storage or distribution medium
|
||
does not bring the other work under the scope of this License.
|
||
</para>
|
||
</listitem>
|
||
</orderedlist>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
You may copy and distribute the Program (or a work based on it,
|
||
under Section 2) in object code or executable form under the
|
||
terms of Sections 1 and 2 above provided that you also do one
|
||
of the following:
|
||
</para>
|
||
<orderedlist startingnumber="1" numeration="loweralpha">
|
||
<listitem>
|
||
<para>
|
||
Accompany it with the complete corresponding machine-readable
|
||
source code, which must be distributed under the terms of
|
||
Sections 1 and 2 above on a medium customarily used for
|
||
software interchange; or,
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
Accompany it with a written offer, valid for at least three
|
||
years, to give any third party, for a charge no more than your
|
||
cost of physically performing source distribution, a complete
|
||
machine-readable copy of the corresponding source code, to be
|
||
distributed under the terms of Sections 1 and 2 above on a
|
||
medium customarily used for software interchange; or,
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
Accompany it with the information you received as to the offer
|
||
to distribute corresponding source code. (This alternative is
|
||
allowed only for noncommercial distribution and only if you
|
||
received the program in object code or executable form with such
|
||
an offer, in accord with Subsection b above.)
|
||
</para>
|
||
</listitem>
|
||
</orderedlist>
|
||
<para>
|
||
The source code for a work means the preferred form of the work
|
||
for making modifications to it. For an executable work, complete
|
||
source code means all the source code for all modules it
|
||
contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable.
|
||
However, as a special exception, the source code distributed
|
||
need not include anything that is normally distributed (in
|
||
either source or binary form) with the major components
|
||
(compiler, kernel, and so on) of the operating system on which
|
||
the executable runs, unless that component itself accompanies
|
||
the executable.
|
||
</para>
|
||
<para>
|
||
If distribution of executable or object code is made by offering
|
||
access to copy from a designated place, then offering equivalent
|
||
access to copy the source code from the same place counts as
|
||
distribution of the source code, even though third parties are not
|
||
compelled to copy the source along with the object code.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
You may not copy, modify, sublicense, or distribute the Program
|
||
except as expressly provided under this License. Any attempt
|
||
otherwise to copy, modify, sublicense or distribute the Program
|
||
is void, and will automatically terminate your rights under this
|
||
License. However, parties who have received copies, or rights,
|
||
from you under this License will not have their licenses
|
||
terminated so long as such parties remain in full compliance.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
You are not required to accept this License, since you have not
|
||
signed it. However, nothing else grants you permission to
|
||
modify or distribute the Program or its derivative works. These
|
||
actions are prohibited by law if you do not accept this License.
|
||
Therefore, by modifying or distributing the Program (or any work
|
||
based on the Program), you indicate your acceptance of this
|
||
License to do so, and all its terms and conditions for copying,
|
||
distributing or modifying the Program or works based on it.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
Each time you redistribute the Program (or any work based on the
|
||
Program), the recipient automatically receives a license from
|
||
the original licensor to copy, distribute or modify the Program
|
||
subject to these terms and conditions. You may not impose any
|
||
further restrictions on the recipients' exercise of the rights
|
||
granted herein. You are not responsible for enforcing compliance
|
||
by third parties to this License.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
If, as a consequence of a court judgment or allegation of patent
|
||
infringement or for any other reason (not limited to patent
|
||
issues), conditions are imposed on you (whether by court order,
|
||
agreement or otherwise) that contradict the conditions of this
|
||
License, they do not excuse you from the conditions of this
|
||
License. If you cannot distribute so as to satisfy
|
||
simultaneously your obligations under this License and any other
|
||
pertinent obligations, then as a consequence you may not
|
||
distribute the Program at all. For example, if a patent license
|
||
would not permit royalty-free redistribution of the Program by
|
||
all those who receive copies directly or indirectly through you,
|
||
then the only way you could satisfy both it and this License
|
||
would be to refrain entirely from distribution of the Program.
|
||
</para>
|
||
<para>
|
||
If any portion of this section is held invalid or unenforceable
|
||
under any particular circumstance, the balance of the section is
|
||
intended to apply and the section as a whole is intended to
|
||
apply in other circumstances.
|
||
</para>
|
||
<para>
|
||
It is not the purpose of this section to induce you to infringe
|
||
any patents or other property right claims or to contest
|
||
validity of any such claims; this section has the sole purpose
|
||
of protecting the integrity of the free software distribution
|
||
system, which is implemented by public license practices. Many
|
||
people have made generous contributions to the wide range of
|
||
software distributed through that system in reliance on
|
||
consistent application of that system; it is up to the
|
||
author/donor to decide if he or she is willing to distribute
|
||
software through any other system and a licensee cannot impose
|
||
that choice.
|
||
</para>
|
||
<para>
|
||
This section is intended to make thoroughly clear what is
|
||
believed to be a consequence of the rest of this License.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
If the distribution and/or use of the Program is restricted in
|
||
certain countries either by patents or by copyrighted interfaces,
|
||
the original copyright holder who places the Program under this
|
||
License may add an explicit geographical distribution limitation
|
||
excluding those countries, so that distribution is permitted only
|
||
in or among countries not thus excluded. In such case, this
|
||
License incorporates the limitation as if written in the body of
|
||
this License.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
The Free Software Foundation may publish revised and/or new
|
||
versions of the General Public License from time to time.
|
||
Such new versions will be similar in spirit to the present
|
||
version, but may differ in detail to address new problems or
|
||
concerns.
|
||
</para>
|
||
<para>
|
||
Each version is given a distinguishing version number. If the
|
||
Program specifies a version number of this License which applies
|
||
to it and "any later version", you have the option of following
|
||
the terms and conditions either of that version or of any later
|
||
version published by the Free Software Foundation. If the
|
||
Program does not specify a version number of this License, you
|
||
may choose any version ever published by the Free Software
|
||
Foundation.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
If you wish to incorporate parts of the Program into other free
|
||
programs whose distribution conditions are different, write to
|
||
the author to ask for permission. For software which is
|
||
copyrighted by the Free Software Foundation, write to the Free
|
||
Software Foundation; we sometimes make exceptions for this. Our
|
||
decision will be guided by the two goals of preserving the free
|
||
status of all derivatives of our free software and of promoting
|
||
the sharing and reuse of software generally.
|
||
</para>
|
||
</listitem>
|
||
</orderedlist>
|
||
</sect2>
|
||
<sect2>
|
||
<title>NO WARRANTY</title>
|
||
<orderedlist startingnumber="11" numeration="arabic">
|
||
<listitem>
|
||
<para>
|
||
BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO
|
||
WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE
|
||
LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
||
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS"
|
||
WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
|
||
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE
|
||
RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.
|
||
SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
|
||
NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
||
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY
|
||
MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE
|
||
LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,
|
||
INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
|
||
INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS
|
||
OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH
|
||
ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
|
||
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||
</para>
|
||
</listitem>
|
||
</orderedlist>
|
||
</sect2>
|
||
<sect2>
|
||
<title>END OF TERMS AND CONDITIONS</title>
|
||
</sect2>
|
||
</sect1>
|
||
<sect1>
|
||
<title>How to Apply These Terms to Your New Programs</title>
|
||
<para>
|
||
If you develop a new program, and you want it to be of the greatest
|
||
possible use to the public, the best way to achieve this is to make
|
||
it free software which everyone can redistribute and change under
|
||
these terms.
|
||
</para>
|
||
<para>
|
||
To do so, attach the following notices to the program. It is safest
|
||
to attach them to the start of each source file to most effectively
|
||
convey the exclusion of warranty; and each file should have at least
|
||
the "copyright" line and a pointer to where the full notice is found.
|
||
</para>
|
||
<sect2>
|
||
<para>
|
||
<literallayout>
|
||
<one line to give the program's name and a brief idea of what it does.>
|
||
Copyright (C) <year> <name of author>
|
||
</literallayout>
|
||
</para>
|
||
<para>
|
||
This program is free software; you can redistribute it and/or modify
|
||
it under the terms of the GNU General Public License as published by
|
||
the Free Software Foundation; either version 2 of the License, or
|
||
(at your option) any later version.
|
||
</para>
|
||
<para>
|
||
This program is distributed in the hope that it will be useful,
|
||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
GNU General Public License for more details.
|
||
</para>
|
||
<para>
|
||
You should have received a copy of the GNU General Public License
|
||
along with this program; if not, write to the Free Software
|
||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||
USA
|
||
</para>
|
||
</sect2>
|
||
<para>
|
||
Also add information on how to contact you by electronic and paper mail.
|
||
</para>
|
||
<para>
|
||
If the program is interactive, make it output a short notice like this
|
||
when it starts in an interactive mode:
|
||
</para>
|
||
<para>
|
||
<literallayout>
|
||
Gnomovision version 69, Copyright (C) year name of author
|
||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||
This is free software, and you are welcome to redistribute it
|
||
under certain conditions; type `show c' for details.
|
||
</literallayout>
|
||
</para>
|
||
<para>
|
||
The hypothetical commands `show w' and `show c' should show the
|
||
appropriate parts of the General Public License. Of course, the
|
||
commands you use may be called something other than `show w' and
|
||
`show c'; they could even be mouse-clicks or menu items --whatever
|
||
suits your program.
|
||
</para>
|
||
<para>
|
||
You should also get your employer (if you work as a programmer) or
|
||
your school, if any, to sign a "copyright disclaimer" for the program,
|
||
if necessary. Here is a sample; alter the names:
|
||
</para>
|
||
<sect2>
|
||
<para>
|
||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||
</para>
|
||
<literallayout>
|
||
<signature of Ty Coon>, 1 April 1989
|
||
Ty Coon, President of Vice
|
||
</literallayout>
|
||
</sect2>
|
||
<para>
|
||
This General Public License does not permit incorporating your
|
||
program into proprietary programs. If your program is a subroutine
|
||
library, you may consider it more useful to permit linking proprietary
|
||
applications with the library. If this is what you want to do, use
|
||
the GNU Library General Public License instead of this License.
|
||
</para>
|
||
</sect1>
|
||
</chapter>
|
||
<!--
|
||
<index>
|
||
</index>
|
||
-->
|
||
</book>
|
||
|
||
<!--
|
||
<structure xml:id="manual">
|
||
<output renderas="book"/>
|
||
</structure>
|
||
-->
|