Name

rdimport — Audio importation tool for the Rivendell Radio Automation System

Synopsis

rdimport [OPTIONS] {group-name} {filespec}

Description

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.

Options

--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-marker option above for a description of the offset parameter.

--set-marker-fadeup=offset

Set the FadeUp marker to offset. See the discussion of the --set-marker-end-marker option above for a description of the 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-marker option above for a description of the 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 basename.xml. This option is mututally exclusive with the --metadata-pattern option.

Exit Values

: 0
: Normal exit
: 2
: Unable to open database
: 4
: Unknown/invalid command line option
: 13
: One or more audio imports failed
: 14
: Unknown dropbox ID
: 15
: No such group
: 16
: Invalid cart number
: 17
: No such scheduler code

NOTES

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.

BUGS

It could be argued that RMS rather than peak normalization would be more appropriate for use with the --normalization-level option.

See Also

sendmail(1) , rdexport(1) , rdmarkerset(8)