rdimport — Audio importation tool for the Rivendell Radio Automation System
rdimport(1) 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 --single-cart
and --to-cart
options, below). A
filespec
of -
will
cause the list of filespecs to be read from standard input.
--add-scheduler-code=
str
Add Scheduler Code str
to the target
cart. The specified code must exist in RDAdmin->SchedulerCodes.
This option may be specified multiple times.
--autotrim-level=
level
Specify the threshold level to use for autotrimming the audio,
in dBFS. Specifying 0
will turn off
autotrimming.
--by-isci
[=service-name
]
Determine the target cart number by looking it up in the ISCI
cross-reference table, using the ISCI code provided by the
--set-string-isci
or
--metadata-pattern
options. If
service-name
is given, prepend the
Program Code for the specified service followed by an underscore
to the ISCI code when doing the cart number lookup in the ISCI
cross-reference table. Useful for importing sets of copy-split
audio.
This option is mutually exclusive with the
--to-cart
option.
--cart-number-offset=
offset
Add offset
to the cart number as
determined from the metadata pattern or
--use-cartchunk-cutid
.
--clear-datetimes
Do not set the cut start and end datetimes, even if such are
found in the file's import metadata. Mutually exclusive with the
--set-datetimes
option.
--clear-daypart-times
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
--set-daypart-times
option.
--create-enddate-offset=
days
If the imported file does not reference an end date, create with
end date offset by days
days relative
to the current date. Cannot be less than the value the value for
--create-startdate-offset
(default =
0
).
--create-startdate-offset=
days
If the imported file does not reference an start date, create with
start date offset by days
days relative
to the current date. Cannot be greater than the value the value for
--create-enddate-offset
(default =
0
).
--delete-cuts
Delete all cuts within the destination cart before importing. Use with caution!
--delete-source
Delete each source file after successful import. Use with caution!
--drop-box
Operate in DropBox mode, causing
rdimport(1) to run
continuously, periodically scanning for files matching the
specified filespec
, importing and then
deleting them when found. WARNING: use of this option also implies
the --delete-source
option!
--dump-isci-xref
Print a copy of the current ISCI cross-reference table and then exit. Useless except for debugging.
--enddate-offset=
days
If the imported file references an end date, offset the value by
days
days.
--fix-broken-formats
Attempt to work around malformed audio input data.
--help
Print a short usage message and exit.
--log-filename=
filename
The filename
to write logs to.
This option is mutually exclusive with the
--log-syslog
option.
Rivendell "Filepath" wildcards can be used in
filename
. See the
rivendell-wildcards(7)
man page for details.
--log-syslog
Writes the logs to syslog(3).
Overrides the [Logs]
section of
rd.conf(5).
This option is mutually exclusive with the --log-directory
and --log-filename
options.
--mail-per-file
Send an e-mail message for each file processed, rather than a single message per run summarizing all actions taken. Implies the --send-mail switch.
See the --send-mail switch (below) for more details about generating e-mailed reports from rdimport(1).
--metadata-pattern=
pattern
Attempt to read metadata parameters from the source filename,
using the pattern pattern
. Patterns
consist of a sequence of wildcards and regular characters to
indicate boundaries between metadata fields. This option is
mutually exclusive with the --xml
option.
The available wildcards are:
%a
Artist
%b
Record Label
%c
Client
%e
Agency
%g
Rivendell group name (overrides the
group-name
parameter)
%i
Cut Description
%k
Time component of the cut start date/time, in
format HH:MM:SS
%K
Time component of the cut end date/time, in
format HH:MM:SS
%l
Album
%m
Composer
%n
Cart Number
%o
Outcue
%p
Publisher
%q
Date component of the cut start date/time, in
format YYYY-MM-DD
. If the
%Q
wildcard has not also been provided,
the end date will be assumed to be the same as the start date.
If the %k
wildcard has not been
provided, a start time of
00:00:00
will
be assumed, while if the %K
wildcard
has not been provided, an end time of
23:59:59
will be assumed.
%Q
Date component of the cut end date/time, in
format YYYY-MM-DD
.
If the %K
wildcard
has not been provided, an end time of
23:59:59
will be assumed.
%r
Conductor
%s
Song ID
%t
Title
%u
User Defined
%wc
Industry Standard Commercial Identification [ISCI] Code
%wi
International Standard Recording Code [ISRC]
%wm
MusicBrainz Recording ID
%wr
MusicBrainz Release ID
%y
Release Year
%%
A literal '%'
Detection of either the Rivendell Group [%g
] or
Rivendell Cart [%n
] will cause
rdimport(1) to attempt to
import the file to the specified Group and/or Cart, overriding
whatever values were specified on the command line.
If the --set-user-defined
option has been used,
then the value specified there will be used instead of
%u
.
Boundaries between metadata fields are indicated by placing regular
characters between macros. For example, the pattern
%t_%a_%g_%n.
, 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.
--normalization-level=
level
Specify the level
to use for peak
normalizing the audio, in dBFS. Specifying 0
will turn off normalization.
--output-pattern=
pattern
Specify a pattern
string
(which may include metadata wildcards), which will cause
rdimport(1) to print
this string to standard output once for each file successfully
imported, with the wildcards appropriately resolved.
See the --metadata-pattern
section (above) for
the list of supported wildcards.
--segue-length=
length
Length of the added segue in length
msecs. See --segue-level
, below.
--segue-level=
level
Specify the threshold level
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.
--send-mail
Send e-mail to the address(es) specified in the destination group's
Notification E-Mail Addresses
setting in rdadmin(1)
summarizing the action(s) performed during the run.
Each invocation of
rdimport(1) will
potentially generate
one message for all successful imports and another for all failed
imports (but see the --mail-per-file
switch
(above) for a way to modify this behavior).
NOTE: Rivendell uses the system's sendmail(1) interface when originating e-mail. For many modern e-mail setups, additional site- and distro-specific configuration will likely be necessary beyond what can be covered here.
--set-datetimes=
start-datetime
,end-datetime
Set the cut start and end datetimes, in the format YYYYMMDD-HHMMSS.
Mutually exclusive with --clear-datetimes
.
--set-daypart-times=
start-time
,end-time
Set the cut start and end datetimes, in the format HHMMSS.
Mutually exclusive with --clear-daypart-times
.
--set-marker-end-marker
=
offset
Set the marker
end marker to a given
offset value, with offset
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.
The following marker
values are recognized:
cut
The Cut markers
hook
The Hook markers
segue
The Segue markers
talk
The Talk markers
--set-marker-fadedown=
offset
Set the FadeDown marker to offset
.
See the discussion of the
--set-marker-end-
option above for a description of the
marker
offset
parameter.
--set-marker-fadeup=
offset
Set the FadeUp marker to offset
.
See the discussion of the
--set-marker-end-
option above for a description of the
marker
offset
parameter.
--set-marker-start-marker
=
offset
Set the marker
start marker to a given
offset value, with offset
specified in
milliseconds. See the discussion of the
--set-marker-end-
option above for a description of the
marker
marker
and
offset
parameters.
--set-string-field
=string
Set the cart label field field
to
string
. This will override any other
values --e.g. from --metadata-pattern
.
Values recognized for field
are:
agency
Agency Name
album
Album Name
artist
Artist Name
bpm
Beats per Minute (integer numeric)
client
Client Name
composer
Composer Name
conductor
Conductor Name
description
Cut Description
isci
Industry Standard Commercial Identification [ISCI] Code
isrc
International Standard Recording Code [ISRC]
label
Record Label Name (rights holder)
outcue
Cut Outcue
publisher
Music Publisher (rights holder)
recording-mbid
MusicBrainz Recording ID
release-mbid
MusicBrainz Release ID
song-id
Song ID
title
Title
user-defined
Miscelaneous Information
year
Year Released (four digit numeric)
--set-user-defined=
string
Deprecated. Use --set-string-user-defined
instead.
--single-cart
If more than one file is imported, place them within multiple cuts within a single cart, rather than creating separate carts for each file.
--startdate-offset=
days
If the imported file references a start date, add
days
days to it.
--title-from-cartchunk-cutid
Set the cart title from CartChunk CutID.
--ticket=
ticket-hash
:ipv4-address
Run rdimport(1) as the
Rivendell user specified by ticket
rather than as the currently "logged in" user.
--to-cart=
cartnum
Import into cart cartnum
, 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 --single-cart
and is mutually exclusive
with --use-cartchunk-cutid
.
--to-mono
Import the file as a monaural cut. If the file is stereo, both left and right channels will be mixed together.
--update-metadata
Attempt to update the library metadata from the embedded data in the source audio file when importing new audio into an existing cart.
--use-cartchunk-cutid
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 --to-cart
.
--verbose
Print progress messages during processing.
--version
Output version information and exit.
--xml
Attempt to read file metadata in RDXML format from the file
.
This option is mututally exclusive with the
basename
.xml--metadata-pattern
option.
It may be necessary to enclose individual
filespec
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
rdimport(1) to process newly
added files when running in DropBox mode.