#########################
#   abcde config file   #
#########################

# System defaults for abcde version 2.7.1
# 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
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
# environment variable - wget will use it correctly.
CDDBURL="http://freedb.musicbrainz.org/~cddb/cddb.cgi"
#CDDBURL="http://freedb.freedb.org/~cddb/cddb.cgi"

# The CDDB protocol level.
# Right now 5 is latin1 output and 6 is UTF8 encoding.
#CDDBPROTO=6
CDDBPROTO=6

# The CDDB protocol requires hello information, including a valid username
# and hostname. If you feel paranoid about giving away such info, edit this
# line - the format is username@hostname.
HELLOINFO="`whoami`@`hostname`"

# This controls the email address CDDB changes are submitted to.
#CDDBSUBMIT=freedb-submit@freedb.org

# The following options control whether or not fetched CDDB entries
# are cached locally in $CDDBLOCALDIR
CDDBCOPYLOCAL="y"
CDDBLOCALDIR="$HOME/.cddb"
CDDBLOCALRECURSIVE="y"

# If NOSUBMIT is set to y, then abcde will never prompt asking if you
# wish to submit your edited cddb file.
#NOSUBMIT=n

# If NOCDDBQUERY is set to y, then abcde will never even try to access
# the CDDB server; running abcde will automatically drop you into a
# blank cddb file to edit at your leisure.  This is the same as the
# -n option.  NOCDDBQUERY=y implies NOSUBMIT=y.
#NOCDDBQUERY=n

# Select here if you want to use the locally stored CDDB entries.
# This is useful if you do a lot of editing to those CDDB entries.
# Also, other tools like Grip store CDDB entries under $HOME/.cddb,
# so they can be reused when ripping CDs. (If this is set to "y" make
# sure that CDDBLOCALRECURSIVE is also set to "y".)
CDDBUSELOCAL="y"

# List, separated with a comma, the fields we want the parsing function to
# output. Defaults to YEAR and GENRE, for a complete list of fields provided by
# CDDB.
# The fields are not case sensitive. Actually, "y,g" will work as fine as "Y,G"
# or "YEAR, GENRE"
SHOWCDDBFIELDS=year,genre

# Specify the style of encoder to use here -
# oggenc, vorbize - for OGGENCODERSYNTAX
# lame, gogo, bladeenc, l3enc, xingmp3enc, mp3enc - for MP3ENCODERSYNTAX
# flac - the only supported for FLACENCODERSYNTAX at the moment
# speexenc - the only encoder for SPEEXENCODERSYNTAX
# mpcenc - encoder for MPCENCODERSYNTAX
# wavpack, ffmpeg - encoder for WVENCODERSYNTAX
# mac - for APENCODERSYNTAX
# faac, neroAacEnc, fdkaac, qaac, fhgaacenc, ffmpeg - for AACENCODERSYNTAX
# opusenc - for OPUSENCODERSYNTAX
# twolame, ffmpeg - for MP2ENCODERSYNTAX
# tta, ttaenc - for TTAENCODERSYNTAX
# default is a valid option for oggenc, lame, flac, speexenc, mpcenc, wavpack,
# faac, 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
#MPCENCODERSYNTAX=default
#WVENCODERSYNTAX=default
#APENCODERSYNTAX=default
#AACENCODERSYNTAX=default
#OPUSENCODERSYNTAX=default
#MP2ENCODERSYNTAX=default
#TTAENCODERSYNTAX=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',
# '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.
# abcde supports 2 CUE modes: 'mkcue' and 'abcde.mkcue' so you can set the
# MKCUE variable accordingly. The 'abcde.mkcue' uses an internal
# implementation, without the need of an external program.
CUEREADERSYNTAX=default

# Specify the program to convert a CUE sheet back to a CD disc ID for CDDB queries.
# Select between '/path/to/cue2discid' (provided as an example) or
# 'abcde.cue2discid', implemented internaly.
#CUE2DISCID=abcde.cue2discid

# Keep the wav files after encoding. Set it to "y" and remove "clean" from
# the list of default actions, since we purge the temp directory as default.
#KEEPWAVS=n

# Track padding: force abcde to pad tracks using 0, so every song uses a two
# digit entry. If set to "y", even a single song encoding outputs a file like
# 01.my_song.ext
PADTRACKS=y

# Define if you want abcde to be non-interactive.
# Keep in mind that there is no way to deactivate it right now in the command
# line, so setting this option makes abcde to be always non-interactive.
#INTERACTIVE=n

# Specify 'nice'ness of the encoder, the CD reader and the distmp3 proc.
# This is a relative 'nice'ness (that is, if the parent process is at a
# nice level of 12, and the ENCNICE is set to 3, then the encoder will
# run with an absolute nice value of 15. Note also, that setting these
# to be empty will result in some default niceness increase (4 in tcsh
# and 10 using the bsdutils' nice).
#ENCNICE=10
#READNICE=10
#DISTMP3NICE=10

# Paths of programs to use

# Encoders:
#LAME=lame
#GOGO=gogo
#BLADEENC=bladeenc
#L3ENC=l3enc
#XINGMP3ENC=xingmp3enc
#MP3ENC=mp3enc
#VORBIZE=vorbize
#OGGENC=oggenc
#FLAC=flac
#SPEEXENC=speexenc
#MPCENC=mpcenc
#WVENC=wavpack
#APENC=mac
#FAAC=faac
#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/qaac.html
#    http://www.andrews-corner.org/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
CDDISCID=cd-discid
CDDBTOOL=cddb-tool
EJECT=eject
MD5SUM=md5sum
#DISTMP3=distmp3
VORBISCOMMENT=vorbiscomment
METAFLAC=metaflac
#NORMALIZE=normalize-audio
#CDSPEED=eject
#VORBISGAIN=vorbisgain
#MKCUE=mkcue
#MKTOC=cdrdao
#DIFF=diff
#WVGAIN=wvgain
#APETAG=apetag
GLYRC=glyrc
IDENTIFY=identify
CONVERT=convert
#DISPLAYCMD=display
#WINE=wine

# Options to call programs with:

# If HTTPGET is modified, the HTTPGETOPTS options should also be defined
# accordingly. If HTTPGET is changed, the default options will be set,
# if HTTPGETOPTS is empty or not defined.
#HTTPGET=wget
# for fetch (FreeBSD): HTTPGETOPTS="-q -o -"
# for wget: HTTPGETOPTS="-q -nv -O -"
# for curl (MacOSX): HTTPGETOPTS="-f -s"
#HTTPGETOPTS="-q -O -"

# MP3:
# For the best LAME encoder options have a look at:
# <http://wiki.hydrogenaudio.org/index.php?title=LAME#Recommended_encoder_settings>
# 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=
#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'
#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'
#MP3ENCOPTS=

# Ogg:
#VORBIZEOPTS=
#OGGENCOPTS=

# FLAC:
# The flac option is a workaround for an error where flac fails
# to encode with error 'floating point exception'. This is flac
# error in get_console_width(), corrected in flac 1.3.1
#FLACOPTS="--silent"

# Speex:
#SPEEXENCOPTS=

# MPP/MP+ (Musepack):
# For the encoder options look at 'mpcenc --longhelp', consider
# setting '--extreme' for a good quality encode.
#MPCENCOPTS=

# WavPack:
# Look at 'wavpack --help' for detailed options, consider using '-hx3'
# for a good quality encode
#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.
#WVGAINOPTS='-a'

# Monkey's Audio (ape)
# Without this set mac chokes unfortunately. Choices
# are from 1000 to 5000.
#APENCOPTS='-c4000'

# M4A/AAC
# There are now 5 AAC encoders available to abcde. (FFmpeg
# is also available for the m4a container...)
# 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
#     '--profile 2 --bitrate-mode 5 --afterburner 1'
#     for a good quality encode.
#FDKAACENCOPTS='--bitrate 192k'
#  4. 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=
#  5. 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:
# 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)
#   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"
#CDDAFSOPTS="-f"
#CDDBTOOLOPTS=
#EJECTOPTS=
#DISTMP3OPTS=
#NORMALIZEOPTS=
#CDSPEEDOPTS="-x"
#CDSPEEDVALUE=""
#MKCUEOPTS=""
#MKTOCOPTS=""
#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
#   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
# 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
# The default action list (referenced as "default") is defined in the following
# comment:
#ACTIONS=cddb,read,encode,tag,move,clean
ACTIONS=cddb,read,encode,tag,move,clean,getalbumart,playlist

# CD device you want to read from
# It can be defined as a singletrack flac file, but since it might change from
# file to file it makes little sense to define it here.
#CDROM=/dev/cdrom
CDROM=/dev/sr0
# If we are using the IDE bus, we need CDPARANOIACDROMBUS defined as "d"
# If we are using the ide-scsi emulation layer, we need to define a "g"
#CDPARANOIACDROMBUS="d"

# If you'd like to make a default location that overrides the current
# directory for putting mp3's, uncomment this.
#OUTPUTDIR=`pwd`
OUTPUTDIR="$HOME/Musique"
# OUTPUTDIR="/mnt/diskstation1/music"

# Or if you'd just like to put the temporary .wav files somewhere else
# you can specify that here
#WAVOUTPUTDIR=`pwd`
WAVOUTPUTDIR="/tmp/abcde"

# 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"
OUTPUTTYPE=flac

# Output filename format - change this to reflect your inner desire to
# organize things differently than everyone else :)
# You have the following variables at your disposal:
# OUTPUT, GENRE, ALBUMFILE, ARTISTFILE, TRACKFILE, TRACKNUM and YEAR.
# Make sure to single-quote this variable. abcde will automatically create
# the directory portion of this filename.
# NOTICE: OUTPUTTYPE has been deprecated in the OUTPUTFORMAT string.
# Since multiple-output was integrated we always append the file type
# to the files. Remove it from your user defined string if you are getting
# files like ".ogg.ogg".
OUTPUTFORMAT='${ARTISTFILE}/${YEAR} - ${ALBUMFILE}/${TRACKNUM} - ${ARTISTFILE} - ${ALBUMFILE} - ${TRACKFILE}'

# Like OUTPUTFORMAT but for Various Artists discs.
VAOUTPUTFORMAT='Various Artists/${YEAR} - ${ALBUMFILE}/${TRACKNUM} - ${ARTISTFILE} - ${ALBUMFILE} - ${TRACKFILE}'

# Like OUTPUTFORMAT and VAOUTPUTFORMAT but for the ONEFILE rips.
ONETRACKOUTPUTFORMAT=$OUTPUTFORMAT
VAONETRACKOUTPUTFORMAT=$VAOUTPUTFORMAT

# Define how many encoders to run at once. This makes for huge speedups
# on SMP systems. Defaults to 1. Equivalent to -j.
MAXPROCS=2

# Support for systems with low disk space:
# n:	Default parallelization (read entire CD in while encoding)
# y:	No parallelization (rip, encode, rip, encode...)
LOWDISK=y

# If set to y, enables batch mode normalization, which preserves relative
# volume differences between tracks of an album.
#BATCHNORM=n

# Enables nogap encoding when using the 'lame' encoder.
#NOGAP=y

# Set the playlist file location format. Uses the same variables and format
# as OUTPUTFORMAT. If the playlist is specified to be in a subdirectory, it
# will be created for you and the playlist will reference files from that
# subdirectory.
#PLAYLISTFORMAT='${ARTISTFILE}-${ALBUMFILE}.${OUTPUT}.m3u'
PLAYLISTFORMAT='playlists/${ARTISTFILE} - ${YEAR} - ${ALBUMFILE}.m3u'
# If you want to prefix every filename in a playlist with an arbitrary
# string (such as 'http://you/yourstuff/'), use this option
#PLAYLISTDATAPREFIX=''

#Like PLAYLIST{FORMAT,DATAPREFIX} but for Various Artists discs:
#VAPLAYLISTFORMAT='${ARTISTFILE}-${ALBUMFILE}.${OUTPUT}.m3u'
VAPLAYLISTFORMAT='playlists/${ARTISTFILE} - ${YEAR} - ${ALBUMFILE}.m3u'
#VAPLAYLISTDATAPREFIX=''

#This will give the playlist CR-LF line-endings, if set to "y".
#(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="y"

# Custom filename munging:
# 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 -e 's/^\.*//' -e 's/ /_/g' | tr -d ":><|*/\"'?[:cntrl:]"
#}
mungefilename ()
{
	echo "$@" | sed -e 's/^\.*//' | tr -d ":><|*/\"'?[:cntrl:]"
}

# Custom genre munging:
# By default we just transform uppercase to lowercase. Not much of a fancy
# function, with not much use, but one can disable it or just turn the first
# Uppercase.
#mungegenre ()
#{
#	echo $CDGENRE | tr "[:upper:]" "[:lower:]"
#}


# Custom pre-read function
# By default it does nothing.
# You can set some things to get abcde function in better ways:
# * Close the CD tray using eject -t (if available in eject and supported by
#   your CD device.
# * Set the CD speed. You can also use the built-in options, but you can also
#   set it here. In Debian, eject -x and cdset -x do the job.
# KEEP IN MIND that executables included in pre_read must be in your $PATH or
# you have to define them with full /path/to/binary
# Uncomment and substitute the ":" with your commands.
#pre_read ()
#{
#:
#}

# Custom post-read function
# By default it does nothing.
# You can set some things to get abcde function in better ways:
# * Store a copy of the CD TOC.
# KEEP IN MIND that executables included in post_read must be in your $PATH or
# you have to define them with full /path/to/binary
# Uncomment and substitute the ":" with your commands.
#post_read ()
#{
#:
#}

# post_encode
# By default it does nothing.
# You can set some things to get abcde function in better ways:
# * Move the resulting directory over the network
# * Compare results with a previously made run, for tests
# KEEP IN MIND that executables included in post_encode must be in your $PATH or
# you have to define them with full /path/to/binary
# Uncomment and substitute the ":" with your commands.
#post_encode ()
#{
#:
#}

# If you'd like to have abcde eject the cdrom after all the tracks have been
# read, uncomment the following line.
EJECTCD=y

# To encode on the remote machines foo, bar, baz, quux, and qiix, as well as
# on the local machine (requires distmp3 to be installed on local machine and
# distmp3host to be installed and running on all remote machines - see README)
#REMOTEHOSTS=foo,bar,baz,quux,qiix

# Set to 1,2, etc. to obtain some information about actions happening in the background
# Useful if you have a slow network or CDDB servers seem unresponsive.
#EXTRAVERBOSE=0
