2017-10-17 Fred Gleason <fredg@paravelsystems.com>

* Moved the man pages to 'docs/manpages/'.
	* Stubbed out a Rivendell Operations Guide in 'docs/opsguide/'.
This commit is contained in:
Fred Gleason
2017-10-17 14:58:40 -04:00
parent 4b5adfd53c
commit 4f165c1dcf
16 changed files with 1916 additions and 37 deletions

77
docs/manpages/Makefile.am Normal file
View File

@@ -0,0 +1,77 @@
## Makefile.am
##
## docs/manpages/automake.am for Rivendell
##
## (C) Copyright 2015-2017 Fred Gleason <fredg@paravelsystems.com>
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License version 2 as
## published by the Free Software Foundation.
##
## 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.
##
## 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., 675 Mass Ave, Cambridge, MA 02139, USA.
##
## Use automake to process this into a Makefile.in
##
## Build Dependencies
##
%.html: %.xml
xsltproc -o $@ $(DOCBOOK_STYLESHEETS)/xhtml/docbook.xsl $<
%.pdf: %.xml
xsltproc $(DOCBOOK_STYLESHEETS)/fo/docbook.xsl $< | fop - -pdf $@
%.1: %.xml
xsltproc $(DOCBOOK_STYLESHEETS)/manpages/docbook.xsl $<
%.8: %.xml
xsltproc $(DOCBOOK_STYLESHEETS)/manpages/docbook.xsl $<
all-local: rdclilogedit.1\
rdconvert.1\
rddbcheck.8\
rdmarkerset.8\
rdrender.1\
rdrevert.8\
rdexport.1\
rdimport.1
man_MANS = rdclilogedit.1\
rdconvert.1\
rddbcheck.8\
rdexport.1\
rdimport.1\
rdmarkerset.8\
rdrender.1\
rdrevert.8
EXTRA_DIST = rdclilogedit.1\
rdclilogedit.xml\
rdconvert.1\
rdconvert.xml\
rddbcheck.8\
rddbcheck.xml\
rdmarkerset.8\
rdmarkerset.xml\
rdrender.1\
rdrender.xml\
rdrevert.8\
rdrevert.xml\
rdexport.1\
rdexport.xml\
rdimport.1\
rdimport.xml
CLEANFILES = *~
MAINTAINERCLEANFILES = *~\
*.1\
*.8\
*.html\
*.pdf\
aclocal.m4\
configure\
Makefile.in

View File

@@ -0,0 +1,447 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<refentry id="stdin" xmlns="http://docbook.org/ns/docbook" version="5.0">
<!--
Header
-->
<refmeta>
<refentrytitle>rdclilogedit</refentrytitle>
<manvolnum>1</manvolnum>
<refmiscinfo class='source'>April 2016</refmiscinfo>
<refmiscinfo class='manual'>Linux Audio Manual</refmiscinfo>
</refmeta>
<refnamediv>
<refname>rdclilogedit</refname>
<refpurpose>Command-line editor for Rivendell logs</refpurpose>
</refnamediv>
<info>
<author>
<personname>
<firstname>Fred</firstname>
<surname>Gleason</surname>
<email>fredg@paravelsystems.com</email>
</personname>
<contrib>Application Author</contrib>
</author>
</info>
<!--
Body
-->
<refsynopsisdiv id='synopsis'>
<cmdsynopsis>
<command>rdclilogedit</command>
<arg choice='opt'><replaceable>OPTIONS</replaceable></arg>
<sbr/>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1 id='description'><title>Description</title>
<para>
<command>rdclilogedit</command><manvolnum>1</manvolnum> is a command-line
editor for Rivendell logs. It is loosely styled after the venerable
<command>ed</command><manvolnum>1</manvolnum> command-line text editor.
</para>
</refsect1>
<refsect1 id='options'><title>Options</title>
<variablelist remap='TP'>
<varlistentry>
<term>
<option>-n</option>, <option>--quiet</option>, <option>--silent</option>
</term>
<listitem>
<para>
Suppress generation of the command-line prompt (often desirable
when driving <command>rdclilogedit</command><manvolnum>1</manvolnum>
from a script).
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id='commands'><title>Commands</title>
<para>
<command>rdclilogedit</command><manvolnum>1</manvolnum> supports the
notion of an 'edit buffer' into which Rivendell logs can be loaded,
modified and then saved back to the Rivendell database. The contents
of the edit buffer can be manipulated by means of simple textual commands
(seperated by newline or <userinput>;</userinput> sent to STDIN). The
following commands are supported:
</para>
<variablelist remap='TP'>
<varlistentry>
<term>
<command>addcart</command>
<arg choice="req"><replaceable>line</replaceable></arg>
<arg choice="req"><replaceable>cart-num</replaceable></arg>
</term>
<listitem>
<para>
Add a new cart event before line
<replaceable>line</replaceable> using cart
<replaceable>cart-num</replaceable>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<command>addchain</command>
<arg choice="req"><replaceable>line</replaceable></arg>
<arg choice="req"><replaceable>log-name</replaceable></arg>
</term>
<listitem>
<para>
Add a new chain-to event before line
<replaceable>line</replaceable> pointing to
<replaceable>log-name</replaceable>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<command>addmarker</command>
<arg choice="req"><replaceable>line</replaceable></arg>
</term>
<listitem>
<para>
Add a new marker event before line <replaceable>line</replaceable>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<command>addtrack</command>
<arg choice="req"><replaceable>line</replaceable></arg>
</term>
<listitem>
<para>
Add a new track event before line <replaceable>line</replaceable>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<command>bye</command>
</term>
<listitem>
<para>
Exit the program.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<command>deletelog</command>
<arg choice="req"><replaceable>log-name</replaceable></arg>
</term>
<listitem>
<para>
Delete the log <replaceable>log-name</replaceable> from the
Rivendell database.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<command>exit</command>
</term>
<listitem>
<para>
Exit the program.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<command>header</command>
</term>
<listitem>
<para>
Print the header data for the currently loaded log.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<command>help</command>
<arg choice="opt"><replaceable>cmd-name</replaceable></arg>
</term>
<listitem>
<para>
Print help about command <replaceable>cmd-name</replaceable>. If
<replaceable>cmd-name</replaceable> is
omitted, print the full list of available commands.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<command>list</command>
</term>
<listitem>
<para>
Print the log in the edit buffer.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<command>listlogs</command>
</term>
<listitem>
<para>
Print a list of the available Rivendell logs.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<command>listservices</command>
</term>
<listitem>
<para>
Print a list of the available Rivendell services.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<command>load</command>
<arg choice="req"><replaceable>log-name</replaceable></arg>
</term>
<listitem>
<para>
Load the log <replaceable>log-name</replaceable>
into the edit buffer.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<command>new</command>
<arg choice="req"><replaceable>log-name</replaceable></arg>
</term>
<listitem>
<para>
Create a new, empty log called
<replaceable>log-name</replaceable> in the edit buffer.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<command>quit</command>
</term>
<listitem>
<para>
Exit the program.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<command>remove</command>
<arg choice="req"><replaceable>line</replaceable></arg>
</term>
<listitem>
<para>
Remove the log event at line <replaceable>line</replaceable> in
the edit buffer.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<command>save</command>
</term>
<listitem>
<para>
Save the contents of the edit buffer.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<command>saveas</command>
<arg choice="req"><replaceable>log-name</replaceable></arg>
</term>
<listitem>
<para>
Save the contents of the edit buffer to a new log called
<replaceable>log-name</replaceable>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<command>setautorefresh</command>
<arg choice="req"><userinput>yes</userinput>|<userinput>no</userinput></arg>
</term>
<listitem>
<para>
Set the state of the log's auto-refresh flag.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<command>setcart</command>
<arg choice="req"><replaceable>line</replaceable></arg>
<arg choice="req"><replaceable>cart-num</replaceable></arg>
</term>
<listitem>
<para>
Set the cart event at line <replaceable>line</replaceable> to use
cart number <replaceable>cart-num</replaceable>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<command>setcomment</command>
<arg choice="req"><replaceable>line</replaceable></arg>
<arg choice="req"><replaceable>str</replaceable></arg>
</term>
<listitem>
<para>
Set the Comment field of the marker or track event at line
<replaceable>line</replaceable> to <replaceable>str</replaceable>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<command>setdesc</command>
<arg choice="req"><replaceable>str</replaceable></arg>
</term>
<listitem>
<para>
Set the Description field of the log to
<replaceable>str</replaceable>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<command>setenddate</command>
<arg choice="opt"><replaceable>date</replaceable></arg>
</term>
<listitem>
<para>
Set the End Date of the log to <replaceable>date</replaceable>,
where <replaceable>date</replaceable> is in the format
<userinput>YYYY-MM-DD</userinput>. To clear the End Date
value completely, omit the <replaceable>date</replaceable>
parameter.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<command>setlabel</command>
<arg choice="req"><replaceable>line</replaceable></arg>
<arg choice="req"><replaceable>str</replaceable></arg>
</term>
<listitem>
<para>
Set the Label field of the chain-to or marker event at line
<replaceable>line</replaceable> to <replaceable>str</replaceable>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<command>setpurgedate</command>
<arg choice="opt"><replaceable>date</replaceable></arg>
</term>
<listitem>
<para>
Set the Purge Date of the log to <replaceable>date</replaceable>,
where <replaceable>date</replaceable> is in the format
<userinput>YYYY-MM-DD</userinput>. To clear the Purge Date
value completely, omit the <replaceable>date</replaceable>
parameter.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<command>setservice</command>
<arg choice="req"><replaceable>str</replaceable></arg>
</term>
<listitem>
<para>
Set the log's owning Service to <replaceable>str</replaceable>.
(To print a list of valid Service names, see
<userinput>listservices</userinput>).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<command>setstartdate</command>
<arg choice="opt"><replaceable>date</replaceable></arg>
</term>
<listitem>
<para>
Set the Start Date of the log to <replaceable>date</replaceable>,
where <replaceable>date</replaceable> is in the format
<userinput>YYYY-MM-DD</userinput>. To clear the Start Date
value completely, omit the <replaceable>date</replaceable>
parameter.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<command>settime</command>
<arg choice="req"><replaceable>line</replaceable></arg>
<arg choice="req"><userinput>hard</userinput>|<userinput>none</userinput></arg>
<arg choice="opt"><replaceable>time</replaceable></arg>
</term>
<listitem>
<para>
Set the start time type and value for a log event. When
specifying a type of <userinput>hard</userinput>, the
<replaceable>time</replaceable> value (format
<userinput>HH:MM:SS</userinput>) must also be specified.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<command>settrans</command>
<arg choice="req"><replaceable>line</replaceable></arg>
<arg choice="req"><userinput>play</userinput>|<userinput>segue</userinput>|<userinput>stop</userinput></arg>
</term>
<listitem>
<para>
Set the transition type for a log event.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<command>unload</command>
</term>
<listitem>
<para>
Unload and clear the contents of the edit buffer.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id='bugs'><title>Bugs</title>
<para>
<command>rdclilogedit</command><manvolnum>1</manvolnum> has no ability
to create or edit log link events (such as Music or Traffic links).
</para>
</refsect1>
</refentry>

261
docs/manpages/rdconvert.xml Normal file
View File

@@ -0,0 +1,261 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<refentry id="stdin" xmlns="http://docbook.org/ns/docbook" version="5.0">
<!--
Header
-->
<refmeta>
<refentrytitle>rdconvert</refentrytitle>
<manvolnum>1</manvolnum>
<refmiscinfo class='source'>May 2017</refmiscinfo>
<refmiscinfo class='manual'>Linux Audio Manual</refmiscinfo>
</refmeta>
<refnamediv>
<refname>rdconvert</refname>
<refpurpose>Convert an audio file to a different format</refpurpose>
</refnamediv>
<info>
<author>
<personname>
<firstname>Fred</firstname>
<surname>Gleason</surname>
<email>fredg@paravelsystems.com</email>
</personname>
<contrib>Application Author</contrib>
</author>
</info>
<!--
Body
-->
<refsynopsisdiv id='synopsis'>
<cmdsynopsis>
<command>rdconvert</command>
<arg choice='opt'><replaceable>OPTIONS</replaceable></arg>
<arg choice='req'><replaceable>src-file</replaceable></arg>
<sbr/>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1 id='description'><title>Description</title>
<para>
<command>rdconvert</command><manvolnum>1</manvolnum> can be used to convert
audio files between different formats.
</para>
</refsect1>
<refsect1 id='options'><title>Options</title>
<variablelist remap='TP'>
<varlistentry>
<term>
<option>--destination-bit-rate=</option><replaceable>bit-rate</replaceable>
</term>
<listitem>
<para>
Use a bit rate of <replaceable>bit-rate</replaceable> bits per
second. This option is ignored for PCM and FLAC formats, and is
mutually exclusive with the <option>--destination-quality</option>
option. The default value is <userinput>0</userinput>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--destination-channels=</option><replaceable>chans</replaceable>
</term>
<listitem>
<para>
Use <replaceable>chans</replaceable> channels. Supported values
are <userinput>1</userinput> and <userinput>2</userinput>. The
default value is <userinput>2</userinput>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--destination-file=</option><replaceable>filename</replaceable>
</term>
<listitem>
<para>
Write the converted data to <replaceable>filename</replaceable>.
If not specified, the data will be written to the name of the
input file with the default extension of the destination format
appended.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--destination-format=</option><replaceable>format</replaceable>
</term>
<listitem>
<para>
Write the converted data to the specified format.
<replaceable>format</replaceable> can be one of the following:
</para>
<variablelist>
<varlistentry>
<term><userinput>0</userinput></term>
<listitem>
<para>
PCM16 WAV
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>2</userinput></term>
<listitem>
<para>
MPEG Layer 2 (Raw)
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>3</userinput></term>
<listitem>
<para>
MPEG Layer 3 (Raw)
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>4</userinput></term>
<listitem>
<para>
Free Lossless Audio Codec (FLAC)
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>5</userinput></term>
<listitem>
<para>
OggVorbis
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>6</userinput></term>
<listitem>
<para>
MPEG Layer 2 (BWF WAV Container)
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>7</userinput></term>
<listitem>
<para>
PCM24 WAV
</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--destination-quality=</option><replaceable>qual</replaceable>
</term>
<listitem>
<para>
Use a variable bitrate with a quality of
<replaceable>chans</replaceable>. Supported values
are <userinput>-1</userinput> through <userinput>10</userinput>.
This parameter is used only with a format of <userinput>5</userinput>
(OggVorbis). The default value is <userinput>0</userinput>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--destination-sample-rate=</option><replaceable>rate</replaceable>
</term>
<listitem>
<para>
Use a sample rate of <replaceable>rate</replaceable> samples per
second. Not all sample rates are supported for all formats; see
the relevant MPEG specifications for details. The default value is
<userinput>48000</userinput>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--end-point=</option><replaceable>msec</replaceable>
</term>
<listitem>
<para>
Stop converting the audio data at the point
<replaceable>msec</replaceable> mS from the start of the source
file. A value of <userinput>-1</userinput> means to continue
conversion to the end of the source file, which is the default.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--normalization-level=</option><replaceable>lvl</replaceable>
</term>
<listitem>
<para>
Peak-normalize the audio to <replaceable>lvl</replaceable> dBFS.
A value of <userinput>0</userinput> disables normalization, which
is the default.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--speed-ratio=</option><replaceable>ratio</replaceable>
</term>
<listitem>
<para>
Alter the tempo of the audio by <replaceable>ratio</replaceable>.
A value of <userinput>1.0</userinput> specifies no tempo alteration,
which is the default.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--start-point=</option><replaceable>msec</replaceable>
</term>
<listitem>
<para>
Start converting the audio data at the point
<replaceable>msec</replaceable> mS into the source file. The
default value is <userinput>0</userinput>.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id='see_also'><title>See Also</title>
<para>
<citerefentry>
<refentrytitle>rdexport</refentrytitle><manvolnum>1</manvolnum>
</citerefentry>
<literal>,</literal>
<citerefentry>
<refentrytitle>rdimport</refentrytitle><manvolnum>1</manvolnum>
</citerefentry>
<literal>,</literal>
<citerefentry>
<refentrytitle>rdmarkerset</refentrytitle><manvolnum>8</manvolnum>
</citerefentry>
</para>
</refsect1>
</refentry>

210
docs/manpages/rddbcheck.xml Normal file
View File

@@ -0,0 +1,210 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<refentry id="stdin" xmlns="http://docbook.org/ns/docbook" version="5.0">
<!--
Header
-->
<refmeta>
<refentrytitle>rddbcheck</refentrytitle>
<manvolnum>8</manvolnum>
<refmiscinfo class='source'>March 2017</refmiscinfo>
<refmiscinfo class='manual'>Linux Audio Manual</refmiscinfo>
</refmeta>
<refnamediv>
<refname>rddbcheck</refname>
<refpurpose>Tool for checking and repairing Rivendell databases</refpurpose>
</refnamediv>
<info>
<author>
<personname>
<firstname>Fred</firstname>
<surname>Gleason</surname>
<email>fredg@paravelsystems.com</email>
</personname>
<contrib>Application Author</contrib>
</author>
</info>
<!--
Body
-->
<refsynopsisdiv id='synopsis'>
<cmdsynopsis>
<command>rddbcheck</command>
<arg choice='opt'><replaceable>OPTIONS</replaceable></arg>
<sbr/>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1 id='description'><title>Description</title>
<para>
<command>rddbcheck</command><manvolnum>8</manvolnum> is a command-line
tool for checking the consistency of a Rivendell database and (perhaps)
repairing any inconsistencies found. When invoked without any options,
<command>rddbcheck</command><manvolnum>8</manvolnum> will run a set of
consistency checks (with the exception of the check of the SHA-1 hashes),
report any problems found and offer to repair the problem. To force a
SHA-1 hash check as well, see the <option>--rehash</option> option below.
</para>
</refsect1>
<refsect1 id='consistency_check_options'><title>Consistency Check Options</title>
<variablelist remap='TP'>
<varlistentry>
<term>
<option>--dump-cuts-dir=</option><replaceable>dir-name</replaceable>
</term>
<listitem>
<para>
Move any &quot;orphaned&quot; audio files found to the
<replaceable>dir-name</replaceable> directory.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--no</option>
</term>
<listitem>
<para>
Automatically answer all interactive prompts with
<userinput>No</userinput>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--orphan-group=</option><replaceable>grp-name</replaceable>
</term>
<listitem>
<para>
Move carts with missing/invalid GROUP information to the
<replaceable>grp-name</replaceable> group.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--rehash=</option><replaceable>target</replaceable>
</term>
<listitem>
<para>
Generate SHA-1 hashes from the specified files in the audio store
and validate them against the values stored in the database. This
is an inherently expensive operation that may require a
significant amount of time to complete as each audio
file to be checked must be opened and read in its entirety.
</para>
<para>
The <replaceable>target</replaceable> value can be one of the
following:
</para>
<variablelist>
<varlistentry>
<term>
Cart number --e.g. <userinput>123456</userinput>
</term>
<listitem>
<para>
Check hashs for all cuts within the specified cart.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
Cart/cut specification --e.g. <userinput>123456_001</userinput>
</term>
<listitem>
<para>
Check the hash for the specified cut.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<userinput>ALL</userinput>
</term>
<listitem>
<para>
Check hashes for all cuts in the audio store.
</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--user=</option><replaceable>user-name</replaceable>
</term>
<listitem>
<para>
Use the <replaceable>user-name</replaceable> Rivendell user.
Default value is <userinput>user</userinput>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--yes</option>
</term>
<listitem>
<para>
Automatically answer all interactive prompts with
<userinput>Yes</userinput>.
</para>
</listitem>
</varlistentry>
</variablelist>
<refsect1 id='audio_recovery_options'><title>Audio Recovery Options</title>
<variablelist remap='TP'>
<varlistentry>
<term>
<option>--relink-audio=</option><replaceable>dir-name</replaceable>
</term>
<listitem>
<para>
Scan the files in the directory <replaceable>dir-name</replaceable>
and copy/rename them into the Rivendell audio store if their SHA-1
hash matches that for one or more Rivendell cuts.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--relink-audio-move</option>
</term>
<listitem>
<para>
When given along with <option>--relink-audio</option>, move the
audio data to the Rivendell audio store rather than copying it
--i.e. copy the audio data, then delete the original.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id='see_also'><title>See Also</title>
<para>
<citerefentry>
<refentrytitle>rdmarkerset</refentrytitle><manvolnum>8</manvolnum>
</citerefentry>
<literal>,</literal>
<citerefentry>
<refentrytitle>rdrevert</refentrytitle><manvolnum>8</manvolnum>
</citerefentry>
</para>
</refsect1>
</refsect1>
</refentry>

427
docs/manpages/rdexport.xml Normal file
View File

@@ -0,0 +1,427 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<refentry id="stdin" xmlns="http://docbook.org/ns/docbook" version="5.0">
<!--
Header
-->
<refmeta>
<refentrytitle>rdexport</refentrytitle>
<manvolnum>1</manvolnum>
<refmiscinfo class='source'>April 2016</refmiscinfo>
<refmiscinfo class='manual'>Linux Audio Manual</refmiscinfo>
</refmeta>
<refnamediv>
<refname>rdexport</refname>
<refpurpose>Export audio from a Rivendell audio store</refpurpose>
</refnamediv>
<info>
<author>
<personname>
<firstname>Fred</firstname>
<surname>Gleason</surname>
<email>fredg@paravelsystems.com</email>
</personname>
<contrib>Application Author</contrib>
</author>
</info>
<!--
Body
-->
<refsynopsisdiv id='synopsis'>
<cmdsynopsis>
<command>rdexport</command>
<arg choice='opt'><replaceable>OPTIONS</replaceable></arg>
<arg choice='req'><replaceable>output-dir</replaceable></arg>
<sbr/>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1 id='description'><title>Description</title>
<para>
<command>rdexport</command><manvolnum>1</manvolnum> can be used to export
audio from a Rivendell audio store.
</para>
</refsect1>
<refsect1 id='options'><title>Options</title>
<variablelist remap='TP'>
<varlistentry>
<term>
<option>--allow-clobber</option>
</term>
<listitem>
<para>
Overwrite a file if it already exists. If this option is not given,
<command>rdexport</command><manvolnum>1</manvolnum> will
automatically append an integer string -- e.g. "[1]" -- to avoid
such overwriting.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--bitrate=</option><replaceable>rate</replaceable>
</term>
<listitem>
<para>
Specify the bitrate to use, in <replaceable>rate</replaceable>
bits per second. Default value is the bitrate of the original
audio, or 256000 bits/sec for PCM originals.
</para>
<para>
This setting is meaningful only when used with the
<userinput>MP2</userinput> or <userinput>MP3</userinput> formats.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--carts=</option><replaceable>start-cart</replaceable>:<replaceable>end-cart</replaceable>
</term>
<listitem>
<para>
Specify a range of cart numbers to be exported, from
<replaceable>start-cart</replaceable> to
<replaceable>end-cart</replaceable> (both inclusive). This option
may be given multiple times.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--channels=</option><replaceable>chans</replaceable>
</term>
<listitem>
<para>
Specify the number of channels to use. Valid values are
<userinput>1</userinput> or <userinput>2</userinput>. Default
value is the channel count of the original audio.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--continue-after-error</option>
</term>
<listitem>
<para>
Continue processing exports even in the face of exporter errors
on particular carts.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--escape-string=</option><replaceable>string</replaceable>
</term>
<listitem>
<para>
Specify the string to use to replace illegal characters in output
filenames. Illegal characters that will be so replaced are:
<userinput>*</userinput>,
<userinput>/</userinput>,
<userinput>&lt;</userinput>,
<userinput>&gt;</userinput>,
<userinput>"</userinput>,
<userinput>\</userinput>,
<userinput>|</userinput> and
<userinput>?</userinput>.
Default value is <userinput>_</userinput>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--format=</option><replaceable>format</replaceable>
</term>
<listitem>
<para>
Specify the file and audio encoding format to be used. The
following values for <replaceable>format</replaceable> are
recognized:
</para>
<variablelist>
<varlistentry>
<term><userinput>FLAC</userinput></term>
<listitem>
<para>Free Lossless Audio Codec (.flac)</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>MP2</userinput></term>
<listitem>
<para>MPEG-1 Layer 2 (.mp2)</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>MP3</userinput></term>
<listitem>
<para>MPEG-1 Layer 3 (.mp3)</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>PCM16</userinput></term>
<listitem>
<para>PCM16 audio in a WAV file format (.wav)</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>PCM24</userinput></term>
<listitem>
<para>PCM24 audio in a WAV file format (.wav)</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>VORBIS</userinput></term>
<listitem>
<para>OggVorbis (.ogg)</para>
</listitem>
</varlistentry>
</variablelist>
<para>
Default value is to use whatever format was used in the audio store.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--group=</option><replaceable>group-name</replaceable>
</term>
<listitem>
<para>
Specify a group to be exported. This option may be given multiple
times.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--metadata-pattern=</option><replaceable>pattern</replaceable>
</term>
<listitem>
<para>
Specify a pattern to define how output files should be named.
Patterns consist of characters interspersed with zero or more
wildcard characters as follows:
</para>
<variablelist>
<varlistentry>
<term><userinput>%a</userinput></term>
<listitem>
<para>Artist</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%b</userinput></term>
<listitem>
<para>Record Label</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%c</userinput></term>
<listitem>
<para>Client</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%e</userinput></term>
<listitem>
<para>Agency</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%g</userinput></term>
<listitem>
<para>Rivendell group name</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%h</userinput></term>
<listitem>
<para>Event length in milliseconds</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%i</userinput></term>
<listitem>
<para>Cut Description</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%j</userinput></term>
<listitem>
<para>Cut Number</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%l</userinput></term>
<listitem>
<para>Album</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%m</userinput></term>
<listitem>
<para>Composer</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%n</userinput></term>
<listitem>
<para>Cart Number</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%o</userinput></term>
<listitem>
<para>Outcue</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%p</userinput></term>
<listitem>
<para>Publisher</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%r</userinput></term>
<listitem>
<para>Conductor</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%s</userinput></term>
<listitem>
<para>Song ID</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%t</userinput></term>
<listitem>
<para>Title</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%u</userinput></term>
<listitem>
<para>User Defined</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%y</userinput></term>
<listitem>
<para>Release Year</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<para>
Default value is <userinput>%n_%j</userinput>.
</para>
<varlistentry>
<term>
<option>--quality=</option><replaceable>qual</replaceable>
</term>
<listitem>
<para>
Specify the quality level to use, in the range
<userinput>-1</userinput> through <userinput>10</userinput>,
inclusive. Default value is <userinput>3</userinput>.
</para>
<para>
This setting is meaningful only when used with the
<userinput>VORBIS</userinput> format.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--samplerate=</option><replaceable>rate</replaceable>
</term>
<listitem>
<para>
Specify the sample rate to use, in <replaceable>rate</replaceable>
samples per second. Default value is the sample rate of the original
audio.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--title=</option><replaceable>title</replaceable>
</term>
<listitem>
<para>
Export all carts with a title of <replaceable>title</replaceable>.
This option may be given multiple times.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--xml</option>
</term>
<listitem>
<para>
Generate an XML file for each generated audio file containing
its cart/cut metadata.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id='see_also'><title>See Also</title>
<para>
<citerefentry>
<refentrytitle>rdconvert</refentrytitle><manvolnum>1</manvolnum>
</citerefentry>
<literal>,</literal>
<citerefentry>
<refentrytitle>rdimport</refentrytitle><manvolnum>1</manvolnum>
</citerefentry>
<literal>,</literal>
<citerefentry>
<refentrytitle>rdmarkerset</refentrytitle><manvolnum>8</manvolnum>
</citerefentry>
</para>
</refsect1>
</refentry>

898
docs/manpages/rdimport.xml Normal file
View File

@@ -0,0 +1,898 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<refentry id="stdin" xmlns="http://docbook.org/ns/docbook" version="5.0">
<!--
Header
-->
<refmeta>
<refentrytitle>rdimport</refentrytitle>
<manvolnum>1</manvolnum>
<refmiscinfo class='source'>June 2016</refmiscinfo>
<refmiscinfo class='manual'>Linux Audio Manual</refmiscinfo>
</refmeta>
<refnamediv>
<refname>rdimport</refname>
<refpurpose>
Audio importation tool for the Rivendell Radio Automation System
</refpurpose>
</refnamediv>
<info>
<author>
<personname>
<firstname>Fred</firstname>
<surname>Gleason</surname>
<email>fredg@paravelsystems.com</email>
</personname>
<contrib>Application Author</contrib>
</author>
</info>
<!--
Body
-->
<refsynopsisdiv id='synopsis'>
<cmdsynopsis>
<command>rdimport</command>
<arg choice='opt'><replaceable>OPTIONS</replaceable></arg>
<arg choice='req'><replaceable>group-name</replaceable></arg>
<arg choice='req'><replaceable>filespec</replaceable></arg>
<sbr/>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1 id='description'><title>Description</title>
<para>
<command>rdimport</command><manvolnum>1</manvolnum> is a command-line tool
for importing one or more audio files into the Rivendell Radio
Automation System. By default, a new cart will be created for each file
imported, although this behavior can be modified by use of the
appropriate options (see the <option>--single-cart</option>
and <option>--to-cart</option> options, below). A
<replaceable>filespec</replaceable> of <userinput>-</userinput> will
cause the list of filespecs to be read from standard input.
</para>
</refsect1>
<refsect1 id='options'><title>Options</title>
<variablelist remap='TP'>
<varlistentry>
<term>
<option>--add-scheduler-code=</option><replaceable>str</replaceable>
</term>
<listitem>
<para>
Add Scheduler Code <replaceable>str</replaceable> to the target
cart. The specified code must exist in RDAdmin->SchedulerCodes.
This option may be specified multiple times.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--autotrim-level=</option><replaceable>level</replaceable>
</term>
<listitem>
<para>
Specify the threshold level to use for autotrimming the audio,
in dBFS. Specifying <userinput>0</userinput> will turn off
autotrimming.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--cart-number-offset=</option><replaceable>offset</replaceable>
</term>
<listitem>
<para>
Add <replaceable>offset</replaceable> to the cart number as
determined from the metadata pattern or
<option>--use-cartchunk-cutid</option>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--clear-datetimes</option>
</term>
<listitem>
<para>
Do not set the cut start and end datetimes, even if such are
found in the file's import metadata. Mutually exclusive with the
<option>--set-datetimes</option> option.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--clear-daypart-times</option>
</term>
<listitem>
<para>
Do not set the cut start and end daypart times, even if such are
found in the file's import metadata. Mutually exclusive with the
<option>--set-daypart-times</option> option.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--create-enddate-offset=</option><replaceable>days</replaceable>
</term>
<listitem>
<para>
If the imported file does not reference an end date, create with
end date offset by <replaceable>days</replaceable> days relative
to the current date. Cannot be less than the value the value for
<option>--create-startdate-offset</option> (default =
<userinput>0</userinput>).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--create-startdate-offset=</option><replaceable>days</replaceable>
</term>
<listitem>
<para>
If the imported file does not reference an start date, create with
start date offset by <replaceable>days</replaceable> days relative
to the current date. Cannot be greater than the value the value for
<option>--create-enddate-offset</option> (default =
<userinput>0</userinput>).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--delete-cuts</option>
</term>
<listitem>
<para>
Delete all cuts within the destination cart before importing.
Use with caution!
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--delete-source</option>
</term>
<listitem>
<para>
Delete each source file after successful import. Use with caution!
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--drop-box</option>
</term>
<listitem>
<para>
Operate in DropBox mode, causing
<command>rdimport</command><manvolnum>1</manvolnum> to run
continuously, periodically scanning for files matching the
specified <replaceable>filespec</replaceable>, importing and then
deleting them when found. WARNING: use of this option also implies
the <option>--delete-source</option> option!
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--enddate-offset=</option><replaceable>days</replaceable>
</term>
<listitem>
<para>
If the imported file references an end date, offset the value by
<replaceable>days</replaceable> days.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--fix-broken-formats</option>
</term>
<listitem>
<para>
Attempt to work around malformed audio input data.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--help</option>
</term>
<listitem>
<para>
Print a short usage message and exit.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--log-mode</option>
</term>
<listitem>
<para>
Prepend date/time information to each line of printed status
(implies the <option>--verbose</option> option).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--metadata-pattern=</option><replaceable>pattern</replaceable>
</term>
<listitem>
<para>
Attempt to read metadata parameters from the source filename,
using the pattern <replaceable>pattern</replaceable>. Patterns
consist of a sequence of wildcards and regular characters to
indicate boundaries between metadata fields. This option is
mutually exclusive with the <option>--xml</option> option.
</para>
<para>
The available wildcards are:
</para>
<variablelist>
<varlistentry>
<term><userinput>%a</userinput></term>
<listitem>
<para>Artist</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%b</userinput></term>
<listitem>
<para>Record Label</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%c</userinput></term>
<listitem>
<para>Client</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%e</userinput></term>
<listitem>
<para>Agency</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%g</userinput></term>
<listitem>
<para>
Rivendell group name (overrides the
<replaceable>group-name</replaceable> parameter)
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%i</userinput></term>
<listitem>
<para>Cut Description</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%k</userinput></term>
<listitem>
<para>Time component of the cut start date/time, in
format <userinput>HH:MM:SS</userinput></para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%K</userinput></term>
<listitem>
<para>Time component of the cut end date/time, in
format <userinput>HH:MM:SS</userinput></para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%l</userinput></term>
<listitem>
<para>Album</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%m</userinput></term>
<listitem>
<para>Composer</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%n</userinput></term>
<listitem>
<para>Cart Number</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%o</userinput></term>
<listitem>
<para>Outcue</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%p</userinput></term>
<listitem>
<para>Publisher</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%q</userinput></term>
<listitem>
<para>
Date component of the cut start date/time, in
format <userinput>YYYY-MM-DD</userinput>. If the
<userinput>%Q</userinput> wildcard has not also been provided,
the end date will be assumed to be the same as the start date.
If the <userinput>%k</userinput> wildcard has not been
provided, a start time of
<userinput>00:00:00</userinput> will
be assumed, while if the <userinput>%K</userinput> wildcard
has not been provided, an end time of
<userinput>23:59:59</userinput> will be assumed.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%Q</userinput></term>
<listitem>
<para>Date component of the cut end date/time, in
format <userinput>YYYY-MM-DD</userinput>.
If the <userinput>%K</userinput> wildcard
has not been provided, an end time of
<userinput>23:59:59</userinput> will be assumed.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%l</userinput></term>
<listitem>
<para>Album</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%r</userinput></term>
<listitem>
<para>Conductor</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%s</userinput></term>
<listitem>
<para>Song ID</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%t</userinput></term>
<listitem>
<para>Title</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%u</userinput></term>
<listitem>
<para>User Defined</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%y</userinput></term>
<listitem>
<para>Release Year</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%%</userinput></term>
<listitem>
<para>A literal '%'</para>
</listitem>
</varlistentry>
</variablelist>
<para>
Detection of either the Rivendell Group [<userinput>%g</userinput>] or
Rivendell Cart [<userinput>%n</userinput>] will cause
<command>rdimport</command><manvolnum>1</manvolnum> to attempt to
import the file to the specified Group and/or Cart, overriding
whatever values were specified on the command line.
If the <option>--set-user-defined</option> option has been used,
then the value specified there will be used instead of
<userinput>%u</userinput>.
</para>
<para>
Boundaries between metadata fields are indicated by placing regular
characters between macros. For example, the pattern
<userinput>%t_%a_%g_%n.</userinput>, when processing a filename of
'My Song_My Artist_TEMP_123456.mp3',
would extract 'My Song' as the title and 'My Artist' as the artist,
while importing it into cart 123456 in the TEMP group.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--normalization-level=</option><replaceable>level</replaceable>
</term>
<listitem>
<para>
Specify the <replaceable>level</replaceable> to use for peak
normalizing the audio, in dBFS. Specifying <userinput>0</userinput>
will turn off normalization.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--segue-length=</option><replaceable>length</replaceable>
</term>
<listitem>
<para>
Length of the added segue in <replaceable>length</replaceable>
msecs. See <option>--segue-level</option>, below.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--segue-level=</option><replaceable>level</replaceable>
</term>
<listitem>
<para>
Specify the threshold <replaceable>level</replaceable> to use for
setting the segue start marker, in dBFS, as measured after any
specified normalization has been applied. Default action is not
to create segue markers.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--set-datetimes=</option><replaceable>start-datetime</replaceable>,<replaceable>end-datetime</replaceable>
</term>
<listitem>
<para>
Set the cut start and end datetimes, in the format YYYYMMDD-HHMMSS.
Mutually exclusive with <option>--clear-datetimes</option>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--set-daypart-times=</option><replaceable>start-time</replaceable>,<replaceable>end-time</replaceable>
</term>
<listitem>
<para>
Set the cut start and end datetimes, in the format HHMMSS.
Mutually exclusive with <option>--clear-daypart-times</option>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--set-marker-end-<replaceable>marker</replaceable>=</option><replaceable>offset</replaceable>
</term>
<listitem>
<para>
Set the <replaceable>marker</replaceable> end marker to a given
offset value, with <replaceable>offset</replaceable> specified in
milliseconds.
If positive, it is taken to indicate a marker position relative
to the absolute beginning of the audio cut, while if negative,
it is taken to indicate a marker position relative to the absolute
end of the audio cut.
</para>
<para>
The following <replaceable>marker</replaceable> values are recognized:
<variablelist>
<varlistentry>
<term><userinput>cut</userinput></term>
<listitem>
<para>The Cut markers</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>hook</userinput></term>
<listitem>
<para>The Hook markers</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>segue</userinput></term>
<listitem>
<para>The Segue markers</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>talk</userinput></term>
<listitem>
<para>The Talk markers</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--set-marker-fadedown=</option><replaceable>offset</replaceable>
</term>
<listitem>
<para>
Set the FadeDown marker to <replaceable>offset</replaceable>.
See the discussion of the
<option>--set-marker-end-<replaceable>marker</replaceable></option>
option above for a description of the
<replaceable>offset</replaceable> parameter.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--set-marker-fadeup=</option><replaceable>offset</replaceable>
</term>
<listitem>
<para>
Set the FadeUp marker to <replaceable>offset</replaceable>.
See the discussion of the
<option>--set-marker-end-<replaceable>marker</replaceable></option>
option above for a description of the
<replaceable>offset</replaceable> parameter.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--set-marker-start-<replaceable>marker</replaceable>=</option><replaceable>offset</replaceable>
</term>
<listitem>
<para>
Set the <replaceable>marker</replaceable> start marker to a given
offset value, with <replaceable>offset</replaceable> specified in
milliseconds. See the discussion of the
<option>--set-marker-end-<replaceable>marker</replaceable></option>
option above for a description of the
<replaceable>marker</replaceable> and
<replaceable>offset</replaceable> parameters.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--set-string-<replaceable>field</replaceable>=<replaceable>string</replaceable></option>
</term>
<listitem>
<para>
Set the cart label field <replaceable>field</replaceable> to
<replaceable>string</replaceable>. This will override any other
values --e.g. from <option>--metadata-pattern</option>.
</para>
<para>
Values recognized for <replaceable>field</replaceable> are:
<variablelist>
<varlistentry>
<term><userinput>agency</userinput></term>
<listitem>
<para>Agency Name</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>album</userinput></term>
<listitem>
<para>Album Name</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>artist</userinput></term>
<listitem>
<para>Artist Name</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>bpm</userinput></term>
<listitem>
<para>Beats per Minute (integer numeric)</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>client</userinput></term>
<listitem>
<para>Client Name</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>composer</userinput></term>
<listitem>
<para>Composer Name</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>conductor</userinput></term>
<listitem>
<para>Conductor Name</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>description</userinput></term>
<listitem>
<para>Cut Description</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>label</userinput></term>
<listitem>
<para>Record Label Name (rights holder)</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>outcue</userinput></term>
<listitem>
<para>Cut Outcue</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>publisher</userinput></term>
<listitem>
<para>Music Publisher (rights holder)</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>song-id</userinput></term>
<listitem>
<para>Song ID</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>title</userinput></term>
<listitem>
<para>Title</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>user-defined</userinput></term>
<listitem>
<para>Miscelaneous Information</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>year</userinput></term>
<listitem>
<para>Year Released (four digit numeric)</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--set-user-defined=</option><replaceable>string</replaceable>
</term>
<listitem>
<para>
Deprecated. Use <option>--set-string-user-defined</option> instead.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--single-cart</option>
</term>
<listitem>
<para>
If more than one file is imported, place them within multiple cuts
within a single cart, rather than creating separate carts for each
file.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--startdate-offset=</option><replaceable>days</replaceable>
</term>
<listitem>
<para>
If the imported file references a start date, add
<replaceable>days</replaceable> days to it.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--title-from-cartchunk-cutid</option>
</term>
<listitem>
<para>
Set the cart title from CartChunk CutID.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--to-cart=</option><replaceable>cartnum</replaceable>
</term>
<listitem>
<para>
Import into cart <replaceable>cartnum</replaceable>, rather than
using the next available cart number for the group. If the cart
does not exist, it will be created. Each file will be imported
into a separate new cut within the cart. Use of this option
implies <option>--single-cart</option> and is mutually exclusive
with <option>--use-cartchunk-cutid</option>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--to-mono</option>
</term>
<listitem>
<para>
Import the file as a monaural cut. If the file is stereo, both
left and right channels will be mixed together.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--use-cartchunk-cutid</option>
</term>
<listitem>
<para>
Import the audio into the cart specified by the CartChunk CutID
parameter associated with the file. If the cart does not exist,
it will be created. Use of this option is mutually exclusive
with <option>--to-cart</option>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--verbose</option>
</term>
<listitem>
<para>
Print progress messages during processing.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--version</option>
</term>
<listitem>
<para>
Output version information and exit.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--xml</option>
</term>
<listitem>
<para>
Attempt to read file metadata in RDXML format from the file
<userinput><replaceable>basename</replaceable>.xml</userinput>.
This option is mututally exclusive with the
<option>--metadata-pattern</option> option.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>NOTES</title>
<para>
It may be necessary to enclose individual
<replaceable>filespec</replaceable> clauses in quotes in order to
protect wildcard characters from expansion by the shell. A typical
indicator that this is necessary is the failure of
<command>rdimport</command><manvolnum>1</manvolnum> to process newly
added files when running in DropBox mode.
</para>
</refsect1>
<refsect1>
<title>BUGS</title>
<para>
It could be argued that RMS rather than peak normalization would be
more appropriate for use with the <option>--normalization-level</option>
option.
</para>
</refsect1>
<refsect1 id='see_also'><title>See Also</title>
<para>
<citerefentry>
<refentrytitle>rdimport</refentrytitle><manvolnum>1</manvolnum>
</citerefentry>
<literal>,</literal>
<citerefentry>
<refentrytitle>rdexport</refentrytitle><manvolnum>1</manvolnum>
</citerefentry>
<literal>,</literal>
<citerefentry>
<refentrytitle>rdmarkerset</refentrytitle><manvolnum>8</manvolnum>
</citerefentry>
</para>
</refsect1>
</refentry>

View File

@@ -0,0 +1,134 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<refentry id="stdin" xmlns="http://docbook.org/ns/docbook" version="5.0">
<!--
Header
-->
<refmeta>
<refentrytitle>rdmarkerset</refentrytitle>
<manvolnum>8</manvolnum>
<refmiscinfo class='source'>June 2016</refmiscinfo>
<refmiscinfo class='manual'>Linux Audio Manual</refmiscinfo>
</refmeta>
<refnamediv>
<refname>rdmarkerset</refname>
<refpurpose>Tool for mass altering Rivendell audio cut markers</refpurpose>
</refnamediv>
<info>
<author>
<personname>
<firstname>Fred</firstname>
<surname>Gleason</surname>
<email>fredg@paravelsystems.com</email>
</personname>
<contrib>Application Author</contrib>
</author>
</info>
<!--
Body
-->
<refsynopsisdiv id='synopsis'>
<cmdsynopsis>
<command>rdmarkerset</command>
<arg choice='opt'><replaceable>OPTIONS</replaceable></arg>
<sbr/>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1 id='description'><title>Description</title>
<para>
<command>rdmarkerset</command><manvolnum>8</manvolnum> is a command-line
tool for setting or altering audio cut markers in the Rivendell Radio
Automation System.
</para>
</refsect1>
<refsect1 id='options'><title>Options</title>
<variablelist remap='TP'>
<varlistentry>
<term>
<option>--all-groups</option>
</term>
<listitem>
<para>
Apply marker changes to ALL audio cuts in the Library.
Use of this option is mutually exclusive with the
<userinput>--group</userinput> option, below. Use with caution!
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--auto-segue=</option><replaceable>level</replaceable>
</term>
<listitem>
<para>
Set the Segue Start marker on the specified cuts to
<replaceable>level</replaceable> dBFS and the Segue End marker
to the position of the End marker. Specifying a
<userinput>0</userinput> for <replaceable>level</replaceable>
will remove the segue markers. Default action is to leave the
segue markers unaltered.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--auto-trim=</option><replaceable>level</replaceable>
</term>
<listitem>
<para>
Auto-trim the specified cuts to <replaceable>level</replaceable>
dBFS. Specifying a <userinput>0</userinput> for
<replaceable>level</replaceable> will remove auto-trim --i.e.
move the Start and End markers to the extreme start and end of
the audio data. Default action is to leave the Start and End
markers unaltered.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--group=</option><replaceable>group</replaceable>
</term>
<listitem>
<para>
Apply marker changes to the audio cuts belonging to
<replaceable>group</replaceable>. This option may be given
multiple times. Use of this option is mutually exclusive with
the <userinput>--all-groups</userinput> option, above.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--verbose</option>
</term>
<listitem>
<para>
Print messages to STDOUT describing progress.
</para>
</listitem>
</varlistentry>
</variablelist>
<refsect1 id='see_also'><title>See Also</title>
<para>
<citerefentry>
<refentrytitle>rdexport</refentrytitle><manvolnum>1</manvolnum>
</citerefentry>
<literal>,</literal>
<citerefentry>
<refentrytitle>rdimport</refentrytitle><manvolnum>1</manvolnum>
</citerefentry>
</para>
</refsect1>
</refsect1>
</refentry>

343
docs/manpages/rdrender.xml Normal file
View File

@@ -0,0 +1,343 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<refentry id="stdin" xmlns="http://docbook.org/ns/docbook" version="5.0">
<!--
Header
-->
<refmeta>
<refentrytitle>rdrender</refentrytitle>
<manvolnum>1</manvolnum>
<refmiscinfo class='source'>August 2017</refmiscinfo>
<refmiscinfo class='manual'>Linux Audio Manual</refmiscinfo>
</refmeta>
<refnamediv>
<refname>rdrender</refname>
<refpurpose>Render a Rivendell log as a single audio file</refpurpose>
</refnamediv>
<info>
<author>
<personname>
<firstname>Fred</firstname>
<surname>Gleason</surname>
<email>fredg@paravelsystems.com</email>
</personname>
<contrib>Application Author</contrib>
</author>
</info>
<!--
Body
-->
<refsynopsisdiv id='synopsis'>
<cmdsynopsis>
<command>rdrender</command>
<arg choice='opt'><replaceable>OUTPUT-OPTS</replaceable></arg>
<arg choice='opt'><replaceable>RENDERING-OPTS</replaceable></arg>
<arg choice='opt'><replaceable>AUDIO-OPTS</replaceable></arg>
<arg choice='req'><replaceable>logname</replaceable></arg>
<sbr/>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1 id='description'><title>Description</title>
<para>
<command>rdrender</command><manvolnum>1</manvolnum> can be used to render
an existing Rivendell log as a single audio file, thus enabling playback
of the rendered content independently of Rivendell.
</para>
<para>
Three different types of options can be given to
<command>rdrender</command><manvolnum>1</manvolnum>: Output,
which affect the outputs of the program, Rendering,
which control how a log is virtually &quot;played&quot; and Audio,
which control the format of the resulting audio file. Each group of
options is documented separately below.
</para>
</refsect1>
<refsect1 id='output_options'><title>Output Options</title>
<variablelist remap='TP'>
<varlistentry>
<term>
<option>--to-cart=</option><replaceable>cartnum</replaceable>:<replaceable>cutnum</replaceable>
</term>
<listitem>
<para>
Save the rendered log to cut number
<replaceable>cutnum</replaceable> in cart number
<replaceable>cartnum</replaceable>. Both cart and cut must already
exist.
This option is mutually exclusive with the
<option>--to-file</option> option, below.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--to-file=</option><replaceable>filename</replaceable>
</term>
<listitem>
<para>
Save the rendered log to the <replaceable>filename</replaceable> file.
This option is mutually exclusive with the
<option>--to-cart</option> option, above.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--verbose</option>
</term>
<listitem>
<para>
Be verbose. Among other things, this will cause
<command>rdrender</command><manvolnum>1</manvolnum> to print
a disposition for each log event encountered to standard error.
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
Exactly one <option>--to-cart</option> or <option>--to-file</option>
option must be specified.
</para>
</refsect1>
<refsect1 id='rendering_options'><title>Rendering Options</title>
<variablelist remap='TP'>
<varlistentry>
<term>
<option>--first-line=</option><replaceable>lineno</replaceable>
</term>
<listitem>
<para>
Start rendering the log at line <replaceable>lineno</replaceable>.
This option is mutually exclusive with the
<option>--first-time</option> option, below.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--first-time=</option><replaceable>HH:MM:SS</replaceable>
</term>
<listitem>
<para>
Start rendering the log at the event having a hard-start time
of <replaceable>HH:MM:SS</replaceable>. This option is mutually
exclusive with the <option>--first-line</option> option, above.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--ignore-stops</option>
</term>
<listitem>
<para>
Treat any STOP transitions encountered as if they were PLAY
transitions. If not given, a STOP transition will cause rendering
of the log to be terminated at the point where the STOP was
encountered.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--last-line=</option><replaceable>lineno</replaceable>
</term>
<listitem>
<para>
Stop rendering the log at line <replaceable>lineno</replaceable>-1.
This option is mutually exclusive with the
<option>--last-time</option> option, below.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--last-time=</option><replaceable>HH:MM:SS</replaceable>
</term>
<listitem>
<para>
Stop rendering the log at the event having a hard-start time of
<replaceable>HH:MM:SS</replaceable>.
This option is mutually exclusive with the
<option>--last-line</option> option, above.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--start-time=</option><replaceable>HH:MM:SS</replaceable>
</term>
<listitem>
<para>
Render the log as if it had been started at a time of
<replaceable>HH:MM:SS</replaceable> (useful for ensuring that
dayparted carts play as expected). If not given, the current
system time will be used.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id='audio_options'><title>Audio Options</title>
<variablelist remap='TP'>
<varlistentry>
<term>
<option>--bitrate=</option><replaceable>rate</replaceable>
</term>
<listitem>
<para>
Specify the bitrate to use, in <replaceable>rate</replaceable>
bits per second. Default value is 256000 bits/sec.
This setting is meaningful only when used with the
<userinput>MP2</userinput> or <userinput>MP3</userinput> formats.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--channels=</option><replaceable>chans</replaceable>
</term>
<listitem>
<para>
Use <replaceable>chans</replaceable> channels in the output file.
If not given, <computeroutput>2</computeroutput> channels (stereo)
will be used.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--format=</option><replaceable>format</replaceable>
</term>
<listitem>
<para>
Specify the file and audio encoding format to be used. The
following values for <replaceable>format</replaceable> are
recognized:
</para>
<variablelist>
<varlistentry>
<term><userinput>FLAC</userinput></term>
<listitem>
<para>Free Lossless Audio Codec (.flac)</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>MP2</userinput></term>
<listitem>
<para>MPEG-1 Layer 2 (.mp2)</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>MP3</userinput></term>
<listitem>
<para>MPEG-1 Layer 3 (.mp3)</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>PCM16</userinput></term>
<listitem>
<para>PCM16 audio in a WAV file format (.wav)</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>PCM24</userinput></term>
<listitem>
<para>PCM24 audio in a WAV file format (.wav)</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>VORBIS</userinput></term>
<listitem>
<para>OggVorbis (.ogg)</para>
</listitem>
</varlistentry>
</variablelist>
<para>
Default value is <userinput>PCM16</userinput>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--normalization-level=</option><replaceable>level</replaceable>
</term>
<listitem>
<para>
Peak normalize the audio to <replaceable>level</replaceable> dBFS.
Default value is <userinput>0</userinput>, which will disable
peak normalization.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--quality=</option><replaceable>qual</replaceable>
</term>
<listitem>
<para>
Specify the quality level to use, in the range
<userinput>-1</userinput> through <userinput>10</userinput>,
inclusive. Default value is <userinput>3</userinput>.
This setting is meaningful only when used with the
<userinput>VORBIS</userinput> format.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--samplerate=</option><replaceable>rate</replaceable>
</term>
<listitem>
<para>
Specify the sample rate to use, in <replaceable>rate</replaceable>
samples per second. Default value is the sample rate configured
in <computeroutput>System Settings</computeroutput> in
<command>rdadmin</command><manvolnum>1</manvolnum>.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id='bugs'><title>Bugs</title>
<para>
<command>rdrender</command><manvolnum>1</manvolnum> makes no attempt to
interpret hard-start time values beyond allowing them to be
used to flag the start and end of rendering. (See the
<option>--first-time</option> and <option>--last-time</option> rendering
options).
</para>
<para>
Due to limitations inherent in the 32 bit Broadcast Wave File format used in
Rivendell's audio store, the maximum length of the rendered log is limited
to appoximately three hours for stereo and six hours for mono when using
the <option>--to-cart</option> option.
</para>
</refsect1>
</refentry>

View File

@@ -0,0 +1,84 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<refentry id="stdin" xmlns="http://docbook.org/ns/docbook" version="5.0">
<!--
Header
-->
<refmeta>
<refentrytitle>rdrevert</refentrytitle>
<manvolnum>8</manvolnum>
<refmiscinfo class='source'>March 2016</refmiscinfo>
<refmiscinfo class='manual'>Linux Audio Manual</refmiscinfo>
</refmeta>
<refnamediv>
<refname>rdrevert</refname>
<refpurpose>Revert a Rivendell database to a previous schema version</refpurpose>
</refnamediv>
<info>
<author>
<personname>
<firstname>Fred</firstname>
<surname>Gleason</surname>
<email>fredg@paravelsystems.com</email>
</personname>
<contrib>Application Author</contrib>
</author>
</info>
<!--
Body
-->
<refsynopsisdiv id='synopsis'>
<cmdsynopsis>
<command>rdrevert</command>
<arg choice='opt'><replaceable>OPTIONS</replaceable></arg>
<arg choice='opt'><userinput>--set-schema=</userinput><replaceable>schema</replaceable></arg>
<arg choice='opt'><userinput>--set-version=</userinput><replaceable>version</replaceable></arg>
<sbr/>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1 id='description'><title>Description</title>
<para>
<command>rdrevert</command><manvolnum>8</manvolnum> can be used to revert
the schema of a Rivendell database to an earlier version, specified as
either a Rivendell version string or an absolute schema version number.
If no arguments are given, <command>rdrevert</command><manvolnum>8</manvolnum>
will print the current database schema version to standard output and
then exit.
</para>
</refsect1>
<refsect1 id='options'><title>Options</title>
<variablelist remap='TP'>
<varlistentry>
<term>
<option>--set-schema=</option><replaceable>schema</replaceable>
</term>
<listitem>
<para>
Set the version number of the schema to which to revert.
<command>rdrevert</command><manvolnum>8</manvolnum> can revert back
up to schema version 242 (v2.10.0) inclusive. Attempting to
revert to an earlier schema than 242 will generate an
<computeroutput>unsupported schema</computeroutput> error.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--set-version=</option><replaceable>version</replaceable>
</term>
<listitem>
<para>
Determine the schema to which to revert on the basis of the
specified Rivendell version --e.g. <userinput>2.10.3</userinput>.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
</refentry>