AtOM/doc/config
2013-03-15 18:25:06 +01:00

99 lines
4.8 KiB
Plaintext

On first launch, AtOM will create an example configuration file for you. This is
only an example, suitable to *my* needs (I'm lazy).
Default config file is ~/.atom/atom.cfg.
The file is divided in sections, beginning with [<sectionname>]. The section
ends where the next one begins. Inside each sections, properties are defined
with <key><space><value>, where <space> can be either spaces, tabulations, or a
mix of both. <key> is always a single word. <value> shall never be quoted,
whether it contains spaces or not.
For example the following defines 'path' as '/usr/share/the big music library':
path /usr/share/the big music library
If '/usr/share/the big music library' is quoted, quotes would be included in the
value.
Sections:
[general]
This section contains parameters of the program itself.
* max-load <load>: Integer. Defines how parallel processing will behave. AtOM
will try to keep the 1 minute load average between <load> and <load>+1 by
adjusting concurrency.
Initial concurrency will be set to half of that value.
* load-interval <seconds>: Integer. How often should we check the load average
and adjust concurrency. Set this too low, and concurrency may be increased
too quickly. Set this too high, and AtOM will not adapt quickly enough to
load increase. In both cases, your hard drive will suffer. In my
experience, 30 seconds is a good value.
* temporary-directory <directory>: String. Name speaks for itself: this is
where FIFOs (for communicating with sqlite) and temporary WAVE files will
be created. Note that debug logs (if enabled) will go there too.
Default: ~/.atom/tmp
* database <file>: String. Where the SQLite database should be stored.
Default: ~/.atom/atom.db
* debug <level>: Integer. Currently defined values:
* 1: few additional status informations.
* 3: log SQL queries.
[source]
This section defines where are the files you want transcoded.
* path <directory>: String. The root of your collection.
Default: /var/lib/mpd/music
* skip <directory>: String. Files in <directory> will be ignored. Note that
<directory> can be any expression accepted by find.
[<some arbitrary string>]
Each section not named 'general' or 'source' will define a new destination.
Common parameters:
Mandatory parameters:
* path: Where files will be written
* format: ogg or mp3. Other formats may appear in the future - feel free to
implement your preferred format. A good candidate is Opus (RFC 6716).
Optional parameters:
* normalize <yes>/<no>: Normalize output files.
* rename <string>: Destination files will be named according to <string>,
after expansion of special strings:
%{album},
%{albumartist},
%{artist},
%{genre},
%{title},
%{track},
%{year}.
Untagged files or files in unrecognized formats will not be changed.
* skip_mime-type <mime-type>: Files with mime-type <mime-type> will not
be included in that destination. For more than one mime-type, use multiple
times, as needed. The '*' character is a wildcard.
* copy_mime-type <mime-type>: Same as skip_mime-type, except that files
matching will be copied as-is to tha destination. E.g. image/* will copy
covers and other images to the destination. In fact, AtOM will try to use
hard links instead of copies.
* channels <number>: Files with more than <number> channels will be
downmixed. Useful if you create files for telephony music-on-hold.
* frequency <hertz>: Files will be resampled as needed to <hertz>Hz
sampling-rate. Shoutcast/Icecast streams require a constant sampling-rate.
Telephony systems often require a sample rate of 8000Hz.
* higher-than <bitrate>: Integer. Only reencode files with bitrates higher
then <bitrate>kbps. This only applies if sample-rate, channel count and of
course format are equal. If unset, only files with bitrates equal to that
of the target will be copied (actually, hardlinking will be attempted
first). As Ogg Vorbis target quality is not defined by its bitrate, Ogg
Vorbis files will always be reencoded if unset.
Ogg parameters:
* quality <quality>: The quality parameter of oggenc. See man oggenc for
more info. This is the only mode supported and planned. Still, if you want
to be able to use bitrate settings, feel free to fork and file a pull
request.
MP3 parameters:
* bitrate <bitrate>: Set ABR to <bitrate>. Again, if you want CBR or any
other mode supported by lame, please fork and file a pull request.
* noresample <yes>/<no>: LAME may decide to encode your file to a lower
sampling-rate if you use a low bitrate. Setting this to yes will
append --resample <original file's rate>, preventing any resampling from
happening.