Fix (again!) dealing with CDs with no release events
[abcde.git] / abcde.conf
index bd78b0e..5c8e740 100644 (file)
@@ -1,13 +1,16 @@
-# System defaults for abcde version 2.7
+# 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
-# currently recognized options are 'cddb' and 'musicbrainz'
-#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, qaac - 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.
 
 # Encoders:
 #LAME=lame
-#TOOLAME=toolame
 #GOGO=gogo
 #BLADEENC=bladeenc
 #L3ENC=l3enc
 #NEROAACENC=neroAacEnc
 #FDKAAC=fdkaac
 #OPUSENC=opusenc
-
-# The path for qaac can be problematic as abcde cannot cope
-# with the 'standard' Wine location with spaces:
-#  "$HOME/.wine/drive_c/Program\ Files/qaac/qaac.exe" Try instead:
-#  "$HOME/.wine/drive_c/qaac/qaac.exe"
-# If you wish to generate alac files using refalac (packaged with qaac)
-# a small and ugly hack can be used by simply altering the path to:
-#   "$HOME/.wine/drive_c/qaac/refalac.exe"
-# Installation instructions for qaac and refalac here:
-#    http://www.andrews-corner.org/qaac.html
+#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
 #MKTOC=cdrdao
 #DIFF=diff
 #WVGAIN=wvgain
+#WVTAG=wvtag
 #APETAG=apetag
 #GLYRC=glyrc
 #IDENTIFY=identify
 # 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' 
 # 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
+# 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. 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 
+#  1. fdkaac: see 'fdkaac --help' and consider using 
 #     '--profile 2 --bitrate-mode 5 --afterburner 1'
 #     for a good quality encode. 
 #FDKAACENCOPTS='--bitrate 192k'
-#QAACENCOPTS=
-#  4. qaac: simply run 'qaac' to see all options and
+#  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.
+#     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:
 #   1. id3v1 (with id3)
 #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"
+# 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,getalbumart,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
 #{
 #      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:
 # By default we just transform uppercase to lowercase. Not much of a fancy