MKCDTOC(1)

NAME
mkcdtoc - create cdrdao TOC file from list of audio files

SYNOPSIS
mkcdtoc [options] [--] [infile]

DESCRIPTION
mkcdtoc reads a list of audio files and builds corresponding TOC file for cdrdao. The list is read from infile or stdin, it can be an M3U play list or simple raw list with one file name on each line. The resulting TOC file will be output to stdout or to file specified by -o option.

mkcdtoc has a modular architecture and can be extended via plugins. Plugins can be used to fill CD-TEXT blocks with information given from audio files and to perform audio file to WAVE format conversion.

When reading input from infile the input data type can be determined by file name extension, in this case appropriate input plugin will be loaded. If file name extension is not known by mkcdtoc or input is read from stdin then input data is treated as raw list and input-raw plugin will be loaded. In any case user can force mkcdtoc to use different input plugin by providing -plugin option with preferred plugin name.

OPTIONS

-output outfile -o outfile
    Send output to outfile. Default is to send output to stdout.

-country CC
    Sets country code to use in ISRC flags.

-owner OOO
    Sets owner code to use in ISRC flags.

-year YY
    Sets year to use in ISRC flags.

-serial number
    Sets starting serial number to use in ISRC flags.

-copy -no-copy
    Sets or clears the copy permitted flag for each track. By default the copy permitted flag is not set.

-pre-emphasis -no-pre-emphasis
    Sets or clears the pre emphasis flag for each track. By default the pre emphasis flag is not set.

-channels number
    Sets number of channels for each track. number can be 2 or 4. Default is 2 channels.

-cdtext -no-cdtext
    Enable or disable generation of CD-TEXT blocks. Default is to generate CD-TEXT blocks if meta information is available.

-langs list
    Sets list of languages to use in CD-TEXT blocks. list is a comma separated list of country codes. Default is 9.

-disc-id id -disc-id-LANG id
    Sets disc id.

-title string -title-LANG string
    Sets CD title for first or for LANG language.

-performer string -performer-LANG string
    Sets CD performer for first or for LANG language.

-songwriter string -songwriter-LANG string
    Sets CD songwriter for first or for LANG language.

-composer string -composer-LANG string
    Sets CD composer for first or for LANG language.

-arranger string -arranger-LANG string
    Sets CD arranger for first or for LANG language.

-message string -message-LANG string
    Sets message to the user for first or for LANG language.

-inherit-title -no-inherit-title
    Enable or disable title inheritance.

-inherit-performer -no-inherit-performer
    Enable or disable performer inheritance.

-inherit-songwriter -no-inherit-songwriter
    Enable or disable songwriter inheritance.

-inherit-composer -no-inherit-composer
    Enable or disable composer inheritance.

-inherit-arranger -no-inherit-arranger
    Enable or disable arranger inheritance.

-inherit-message -no-inherit-message
    Enable or disable message inheritance.

-inherit-all -no-inherit-all
    Enable or disable inheritance of all CD-TEXT flags. Default is to inherit all flags.

-no-title
    Disable title in all CD-TEXT blocks.

-no-performer
    Disable performer in all CD-TEXT blocks.

-no-songwriter
    Disable songwriter in all CD-TEXT blocks.

-no-composer
    Disable composer in all CD-TEXT blocks.

-no-arranger
    Disable arranger in all CD-TEXT blocks.

-no-message
    Disable message in all CD-TEXT blocks.

-pregap MM:SS:FF
    Sets the length of the pre-gap for each track.

-path -no-path
    Enable or disable directory part of file name in the FILE flag. Default is to remove directory part from file name.

-subst-ext extension
    Sets file extension to substitute for each audio file name. Disables -append-ext. Default is to substitute extension with .wav.

-append-ext extension
    Sets file extension to append to each audio file name. Disables -subst-ext.

-no-change-ext
    Do not change extension of audio file names. Disables -subst-ext and -append-ext.

-plugin file[:opt1[=value1][,opt2[=value2]]...]
    Loads plugin from file. If file has not contain a directory part, then the program will first check the user plugins directory, then the system plugins directory, and finally the current directory.

-convert-NAME[:opt1[=value1][,opt2[=value2]]...]
    Shortcut for -plugin convert-NAME.

-info-NAME[:opt1[=value1][,opt2[=value2]]...]
    Shortcut for -plugin info-NAME.

-input-NAME[:opt1[=value1][,opt2[=value2]]...]
    Shortcut for -plugin input-NAME.

-list-plugins
    List available plugins and exit.

-plugin-info file
    List information about plugin and exit.

-help
    Display short usage help and exit.

-version
    Display version information and exit.

EXAMPLES
For example we have a set of WAVE files in the current directory, then we want to make TOC file for them

    ls *.wav |mkcdtoc >disc.toc

For example we have a set of MP3 files in the current directory, then we want to make TOC file with CD-TEXT blocks

    ls *.mp3 |mkcdtoc -plugin info-id3info >disc.toc

The same, but perform MP3 to WAVE conversion

    ls *.mp3 |mkcdtoc -plugin info-id3info \
    -plugin convert-mpg321 >disc.toc

FILES

~/.mkcdtoc/plugins
    User plugins directory.

/usr/pkg/share/mkcdtoc/plugins
    System plugins directory.

AUTHOR
Konstantin Korikov <lostclus@ua.fm>

SEE ALSO
cdrdao(1), ls(1)