Fix (again!) dealing with CDs with no release events
[abcde.git] / abcde.conf
index f61fe4b..5c8e740 100644 (file)
@@ -1,12 +1,16 @@
-# System defaults for abcde version 2.6.1
+# System defaults for abcde version 2.8.2
 # Nothing in this file is uncommented by default.
 #
 # If you wish to override these system-wide settings, create your own
 # .abcde.conf file in your home directory.
 
 # CDDB options
-# Choose whether you want to use CDDB or Musicbrainz. Default is CDDB
-#CDDBMETHOD=cddb
+
+# Choose whether you want to use "cddb", "musicbrainz" and/or
+# "cdtext". Default is "musicbrainz", but all can be specified in a
+# comma delimited list to be tried sequentially. All the results will
+# be displayed ready for user choice.
+#CDDBMETHOD=musicbrainz
 
 # If you wish to use a different CDDB server, edit this line.
 # If you just wanted to use a proxy server, just set your http_proxy
 # flac - the only supported for FLACENCODERSYNTAX at the moment
 # speexenc - the only encoder for SPEEXENCODERSYNTAX
 # mpcenc - encoder for MPCENCODERSYNTAX
-# wavpack - encoder for WVENCODERSYNTAX
+# wavpack, ffmpeg - encoder for WVENCODERSYNTAX
 # mac - for APENCODERSYNTAX
-# faac, neroAacEnc, fdkaac - for AACENCODERSYNTAX
+# fdkaac, ffmpeg, neroAacEnc, faac, qaac, fhgaacenc - for AACENCODERSYNTAX
 # opusenc - for OPUSENCODERSYNTAX
-# default is a valid option for oggenc, lame, flac, speexenc, mpcenc, wavpack, faac and opus.
-# Currently this affects the default location of the binary, the variable
-# to pick encoder command-line options from, and where the options are
-# given.
+# twolame, ffmpeg - for MP2ENCODERSYNTAX
+# tta, ttaenc - for TTAENCODERSYNTAX
+# ffmpeg - for AIFFENCODERSYNTAX
+# default is a valid option for oggenc, lame, flac, speexenc, mpcenc, wavpack,
+# fdkaac, opus, twolame and tta. Currently this affects the default location of the
+# binary, the variable to pick encoder command-line options from, and where
+# the options are given.
 #MP3ENCODERSYNTAX=default
 #OGGENCODERSYNTAX=default
 #FLACENCODERSYNTAX=default
 #SPEEXENCODERSYNTAX=default
+#MKAENCODERSYNTAX=default
 #MPCENCODERSYNTAX=default
 #WVENCODERSYNTAX=default
 #APENCODERSYNTAX=default
 #AACENCODERSYNTAX=default
 #OPUSENCODERSYNTAX=default
+#MP2ENCODERSYNTAX=default
+#TTAENCODERSYNTAX=default
+#AIFFENCODERSYNTAX=default
 
 # Specify the syntax of the normalize binary here - so far only 'normalize'
 # is supported.
 #NORMALIZERSYNTAX=default
 
 # CD reader program to use - currently recognized options are 'cdparanoia',
-# 'icedax', 'cdda2wav', 'dagrab', 'pird', 'cddafs' (Mac OS X only) and 'flac'.
+# 'libcdio' (cd-paranoia),'icedax', 'cdda2wav', 'dagrab', 'pird',
+# 'cddafs' (Mac OS X only) and 'flac'.
 #CDROMREADERSYNTAX=cdparanoia
 
 # CUE reader syntax for the CUE reader program to use.
 
 # Encoders:
 #LAME=lame
-#TOOLAME=toolame
 #GOGO=gogo
 #BLADEENC=bladeenc
 #L3ENC=l3enc
 #NEROAACENC=neroAacEnc
 #FDKAAC=fdkaac
 #OPUSENC=opusenc
+#TWOLAME=twolame
+# Note that if you use avconv rather than FFmpeg give the
+# path to avconv here (e.g. FFMPEG=/usr/bin/avconv):
+# FFMPEG=ffmpeg
+#TTA=tta
+#TTAENC=ttaenc
+
+# The path for qaac, refalac and fhgaacenc  can be problematic as abcde
+# cannot cope with the 'standard' Wine location with spaces. For example:
+# "$HOME/.wine/drive_c/Program\ Files/qaac/qaac.exe" is problematic. Try instead:
+# "$HOME/.wine/drive_c/qaac/qaac.exe"
+# Installation instructions for qaac, refalac and fhgaacenc here:
+#    http://www.andrews-corner.org/linux/qaac.html
+#    http://www.andrews-corner.org/linux/fhgaacenc.html
+# (Hint: Use QAAC=refalac to use the Open Source alac encoder...)
+#QAAC=qaac
+#FHGAACENC=fhgaacenc
 
 # Taggers, rippers, replaygain etc:
 #ID3=id3
 #ID3V2=id3v2
+#MID3V2=mid3v2
 #EYED3=eyeD3
 #CDPARANOIA=cdparanoia
+#CD_PARANOIA=cd-paranoia
 #CDDA2WAV=icedax
 #PIRD=pird
 #CDDAFS=cp
 #MKTOC=cdrdao
 #DIFF=diff
 #WVGAIN=wvgain
+#WVTAG=wvtag
 #APETAG=apetag
+#GLYRC=glyrc
+#IDENTIFY=identify
+#CONVERT=convert
+#DISPLAYCMD=display
+#WINE=wine
 
 # Options to call programs with:
 
 # A good option is '-V 0' which gives Variable Bitrate Rate (VBR) recording
 # with a target bitrate of ~245 Kbps and a bitrate range of 220...260 Kbps.
 #LAMEOPTS=
-#TOOLAMEOPTS=
 #GOGOOPTS=
+# Bladeenc still works with abcde in 2015, and the last release of bladeenc
+# was in 2001! Settings that will produce a great encode are: '-br 192' 
 #BLADEENCOPTS=
 # L3enc still works with abcde in 2015, pretty amazing when you realise 
 # that the last release of l3enc was in 1997! Settings that will produce 
-# a great encode are: '-br 256000 -hq -crc'                       Andrew.
+# a great encode are: '-br 256000 -hq -crc'
 #L3ENCOPTS=
 #XINGMP3ENCOPTS=
 # And mp3enc also still works with abcde in 2015 with the last release
 # of mp3enc in 1998! Settings that will produce a great encode, albeit
-# a slow one, are: '-v -br 256000 -qual 9 -no-is -bw 16500'.      Andrew.
+# a slow one, are: '-v -br 256000 -qual 9 -no-is -bw 16500'
 #MP3ENCOPTS=
 
 # Ogg:
 # to encode with error 'floating point exception'. This is flac 
 # error in get_console_width(), corrected in flac 1.3.1
 #FLACOPTS="--silent"
-
+# Options passed to MetaFlac for ReplayGain tags:
+#FLACGAINOPTS="--add-replay-gain"
 # Speex:
 #SPEEXENCOPTS=
 
 # WavPack:
 # Look at 'wavpack --help' for detailed options, consider using '-hx3' 
 # for a good quality encode
-#WVENCOPTS=
+#WAVENCOPTS=
 # For Wavpack replay gain we set both the default of 'track gain' 
 # as well as this option for 'album gain'. Better media players
 # such as vlc can select either or neither.    
 # are from 1000 to 5000.
 #APENCOPTS='-c4000'
 
+#AIFF
+# These options needed by FFmpeg for tagging and selection of id3v2 version:
+#  1. '-write_id3v2 1' allows id3v2 tagging while '-write_id3v2 0' disables tagging
+#  2. '-id3v2_version 4' gives version id3v2.4 while '3' gives id3v2.3 
+#AIFFENCOPTS="-write_id3v2 1 -id3v2_version 4"
+
 # M4A/AAC
-# Note that the old AACENCOPTS has been rendered obsolete by
-# the following options, new to abcde 2.6.1:
-#  1. faac: see 'faac --long-help' and consider
-#     using '-q 250' for a good quality encode.
-#FAACENCOPTS=
-#  2. neroAacEnc: see 'neroAacEnc -help' and
-#     consider using '-q 0.65' for a good quality encode.
-#NEROAACENCOPTS=
-#  3. fdkaac: see 'fdkaac --help' and consider using 
+# There are now 6 AAC encoders available to abcde, the default being
+# fdkaacenc. Note that the old AACENCOPTS has been rendered obsolete by
+# the following options, new to abcde 2.7:
+#  1. fdkaac: see 'fdkaac --help' and consider using 
 #     '--profile 2 --bitrate-mode 5 --afterburner 1'
 #     for a good quality encode. 
-#FDKAACENCOPTS=
+#FDKAACENCOPTS='--bitrate 192k'
+#  2. FFmpeg: Use the following to use the FFmpeg native encoder, adding
+#     -strict -2 if you have an older FFmpeg:
+#     FFMPEGENCOPTS="-c:a aac -b:a 192k"
+#  3. neroAacEnc: see 'neroAacEnc -help' and
+#     consider using '-q 0.65' for a good quality encode.
+#NEROAACENCOPTS=
+#  4. faac: see 'faac --long-help' and consider
+#     using '-q 250' for a good quality encode.
+#FAACENCOPTS=
+#  5. qaac: simply run 'wine qaac.exe' to see all options and
+#     consider using '--tvbr 100' for a good quality
+#     encode or '--alac' for Apple Lossless Audio Codec
+#QAACENCOPTS=
+#  6. fhgaacenc: simply run 'wine fhgaacenc.exe' to see all options.
+#     consider using '--vbr 4' for a decent quality encode.
+#FHGAACENCOPTS=
+
+# True Audio
+# This is a lossless format so no options of any note available:
+#TTAENCOPTS=
 
 # OPUS
 # For the encoder options look at: 'opusenc -h'
 #OPUSENCOPTS=
 
+# MP2
+# Currently uses either twolame or ffmpeg, for twolame options look at:
+# 'twolame --help',a highly recommended setting is "--bitrate 320".
+#TWOLAMENCOPTS=
+
+# FFmpeg or avconv can be used for several audio codecs, as well as being
+# the default encoder for the Matroska container mka::
+# 1. Encoding to WavPack (FFmpeg only: avconv does not have a native encoder).
+#    Consider setting the following with a compression_level between 0-8:
+#    FFMPEGENCOPTS="-c:a wavpack -compression_level 6"
+# 2. Encoding to ALAC (both FFmpeg and avconv have a native encoder).
+#    Consider using the following for either FFmpeg and avconv:
+#    FFMPEGENCOPTS="-c:a alac"
+# 3. Encoding to mp2
+#    Consider using the following for either FFmpeg and avconv:
+#    FFMPEGENCOPTS="-c:a mp2 -b:a 320k"
+#FFMPEGENCOPTS=
+
 # mp3 tagging:
-# There are three ways to tag MP3 files: id3v1 (with id3), id3v2.3
-# (with id3v2) and id3v2.4 (with eyeD3). Use ID3TAGV to select one of
-# the older formats
+# There are three ways to tag MP3 files:
+#   1. id3v1 (with id3)
+#   2. id3v2.3 (with id3v2)
+#   3. id3v2.4 (with eyeD3) This is the default
+# Use ID3TAGV to select one of the older formats:
 #ID3TAGV=id3v2.4
 #ID3OPTS=
 #ID3V2OPTS=
 #EYED3OPTS="--set-encoding=utf16-LE"
 
 # Other options:
+# The variable CDPARANOIOPTS is also used by GNU's cd-paranoia,
+# so use this when setting CDROMREADERSYNTX=libcdio.
 #CDPARANOIAOPTS=
 #CDDA2WAVOPTS=
 #PIRDOPTS="-p"
+# Options for the CD ripper dagrab can be seen by running 'dagrab -h'.
+# A good option to experiment with is the 'sectors per request' setting
+# which by default is '-n 8'.
+#DAGRABOPTS=
 #CDDAFSOPTS="-f"
 #CDDBTOOLOPTS=
 #EJECTOPTS=
 #DIFFOPTS=""
 #VORBISCOMMENTOPTS="-R"
 #METAFLACOPTS="--no-utf8-convert"
-#DIFFOPTS=""
+# Bear in mind that the AtomicParsley option '--overWrite' is already
+# used in abcde...
+#ATOMICPARSLEYOPTS=
 
 # Actions to take
 # Comma-separated list of one or more of the following:
-#  cddb,cue,read,normalize,encode,tag,move,replaygain,playlist,clean,default
+#  cddb,cue,read,normalize,encode,tag,move,replaygain,playlist,getalbumart,embedalbumart,clean,default
 #   encode implies read
 #   normalize implies read
 #   tag implies cddb,read,encode
 #   move implies cddb,read,encode,tag
 #   replaygain implies cddb,read,encode,tag,move
 #   playlist implies cddb
+#   embedalbumart implies getalbumart
 # An action can be added to the "default" action by specifying it along with
 # "default", without having to repeat the default ones:
 #  ACTIONS=default,playlist
 # OUTPUTTYPE can be any of a number of formats, either a single format
 # (e.g. "ogg") or a combination of them separated with ","
 # (e.g. "flac,mp3"). Currently recognised and supported are:
-# "flac", "m4a", "mp3, "mpc", "ogg", "opus", "spx", "vorbis", "wav", "wv", "ape"
+# "flac", "m4a", "mp3, "mpc", "ogg", "opus", "mka", "spx", "vorbis", "wav", "wv", "ape", "aiff"
 #OUTPUTTYPE=ogg
 
 # Output filename format - change this to reflect your inner desire to
 #(some hardware players insist on CR-LF line-endings)
 #DOSPLAYLIST=n
 
+# album art download options (see glyrc's help for details with more detailed 
+# examples here: https://github.com/sahib/glyr/wiki/Commandline-arguments).
+# For example use '--formats jpg;jpeg' to only search for JPEG images
+# These options: '--from <provider>' and '--lang <langcode>' might also be useful
+#GLYRCOPTS=
+#ALBUMARTFILE="cover.jpg"
+#ALBUMARTTYPE="JPEG"
+
+# Options for ImageMagick commands used by album art processing when available
+# For example: CONVERTOPTS="-colorspace RGB -resize 600x600>"
+# to make the image RGB and fit inside 600x600 while keeping the aspect ratio
+#IDENTIFYOPTS=
+#CONVERTOPTS=
+#DISPLAYCMDOPTS="-resize 512x512 -title abcde_album_art"
+# By default convert is only called when the image type is different from
+# ALBUMARTTYPE, use ALBUMARTALWAYSCONVERT="y" to always call convert
+#ALBUMARTALWAYSCONVERT="n"
+
 # Custom filename munging:
-# By default, abcde will do the following to CDDB data to get a useful
-# filename:
-# * Translate colons to a space and a dash for Windows compatibility
-# * Eat control characters, single quotes, and question marks
-# * Translate spaces and forward slashes to underscores
-# To change that, redefine the mungefilename function.
-# mungefilename receives the CDDB data (artist, track, title, whatever)
-# as $1 and outputs it on stdout.
+# By default, abcde will do the following to CDDB data to get a useful filename:
+# 1. Delete any dots preceding the title (first sed command)
+# 2. Replace all spaces with an underscore (second sed command). Simply remove
+#   this if you prefer spaces.
+# 3. Delete a grab bag of characters which variously Windows and Linux do not permit 
+#   (tr command). Remove any of these from the list if you wish to actually use them.
+#   
 #mungefilename ()
 #{
-#      echo "$@" | sed s,:,\ -,g | tr \ / __ | tr -d \'\"\?\[:cntrl:\]
+#      echo "$@" | sed -e 's/^\.*//' -e 's/ /_/g' | tr -d ":><|*/\"'?[:cntrl:]"
+#}
+#
+# More examples for custom filename munging:
+#
+# VARIANT 1: (works anywhere style)
+#
+# Translate everything to lowercase
+# replace ALL chars that may cause trouble for Linux, Windows and DOS
+# with '_' (underscore); remove double underscores; remove leading and
+# trailing underscores; recode to flat ASCII
+#
+#mungefilename ()
+#{
+#      echo "$@" | tr [A-Z] [a-z] | \
+#                      sed "s/[- ,.:\'\/!@#\?\$%\^&()]/_/g" | \
+#                      sed 's/_[_]*/_/g' | \
+#                      sed 's/^_*//' | \
+#                      sed 's/_*$//' | \
+#                      recode -f iso8859-1..flat
+#}
+#
+# VARIANT 2: (legible style)
+#
+# Accept all chars, EXCEPT '/' (obvious) or ":" (because eyeD3 cannot
+# cope with ":" in pathnames): replace them with " " (space).
+# Additionally, replace contiguous spaces with one space; strip
+# leading spaces; strip trailing spaces and recode to flat filenames.
+#
+# mungefilename ()
+# {
+#      echo "$@" |     sed "s/[:\/]/ /g" | \
+#                      sed 's/ [ ]*/ /g' | \
+#                      sed 's/^ *//' | \
+#                      sed 's/ *$//' | \
+#                      recode -f iso8859-1..flat
+# }
+
+
+#
+# Custom filename munging specific to track names:
+# By default this function will call the mungefilename function.
+#mungetrackname ()
+#{
+#      mungefilename $@
+#}
+#
+# Custom filename munging specific to artist names:
+# By default this function will call the mungefilename function.
+#mungeartistname ()
+#{
+#      mungefilename $@
+#}
+#
+# Custom filename munging specific to album names:
+# By default this function will call the mungefilename function.
+#mungealbumname ()
+#{
+#      mungefilename $@
 #}
 
 # Custom genre munging: