head 1.29; access; symbols pkgsrc-2014Q4:1.28.0.30 pkgsrc-2014Q4-base:1.28 pkgsrc-2014Q3:1.28.0.28 pkgsrc-2014Q3-base:1.28 pkgsrc-2014Q2:1.28.0.26 pkgsrc-2014Q2-base:1.28 pkgsrc-2014Q1:1.28.0.24 pkgsrc-2014Q1-base:1.28 pkgsrc-2013Q4:1.28.0.22 pkgsrc-2013Q4-base:1.28 pkgsrc-2013Q3:1.28.0.20 pkgsrc-2013Q3-base:1.28 pkgsrc-2013Q2:1.28.0.18 pkgsrc-2013Q2-base:1.28 pkgsrc-2013Q1:1.28.0.16 pkgsrc-2013Q1-base:1.28 pkgsrc-2012Q4:1.28.0.14 pkgsrc-2012Q4-base:1.28 pkgsrc-2012Q3:1.28.0.12 pkgsrc-2012Q3-base:1.28 pkgsrc-2012Q2:1.28.0.10 pkgsrc-2012Q2-base:1.28 pkgsrc-2012Q1:1.28.0.8 pkgsrc-2012Q1-base:1.28 pkgsrc-2011Q4:1.28.0.6 pkgsrc-2011Q4-base:1.28 pkgsrc-2011Q3:1.28.0.4 pkgsrc-2011Q3-base:1.28 pkgsrc-2011Q2:1.28.0.2 pkgsrc-2011Q2-base:1.28 pkgsrc-2011Q1:1.26.0.8 pkgsrc-2011Q1-base:1.26 pkgsrc-2010Q4:1.26.0.6 pkgsrc-2010Q4-base:1.26 pkgsrc-2010Q3:1.26.0.4 pkgsrc-2010Q3-base:1.26 pkgsrc-2010Q2:1.26.0.2 pkgsrc-2010Q2-base:1.26 pkgsrc-2010Q1:1.23.0.6 pkgsrc-2010Q1-base:1.23 pkgsrc-2009Q4:1.23.0.4 pkgsrc-2009Q4-base:1.23 pkgsrc-2009Q3:1.23.0.2 pkgsrc-2009Q3-base:1.23 pkgsrc-2009Q2:1.22.0.26 pkgsrc-2009Q2-base:1.22 pkgsrc-2009Q1:1.22.0.24 pkgsrc-2009Q1-base:1.22 pkgsrc-2008Q4:1.22.0.22 pkgsrc-2008Q4-base:1.22 pkgsrc-2008Q3:1.22.0.20 pkgsrc-2008Q3-base:1.22 cube-native-xorg:1.22.0.18 cube-native-xorg-base:1.22 pkgsrc-2008Q2:1.22.0.16 pkgsrc-2008Q2-base:1.22 cwrapper:1.22.0.14 pkgsrc-2008Q1:1.22.0.12 pkgsrc-2008Q1-base:1.22 pkgsrc-2007Q4:1.22.0.10 pkgsrc-2007Q4-base:1.22 pkgsrc-2007Q3:1.22.0.8 pkgsrc-2007Q3-base:1.22 pkgsrc-2007Q2:1.22.0.6 pkgsrc-2007Q2-base:1.22 pkgsrc-2007Q1:1.22.0.4 pkgsrc-2007Q1-base:1.22 pkgsrc-2006Q4:1.22.0.2 pkgsrc-2006Q4-base:1.22 pkgsrc-2006Q3:1.21.0.8 pkgsrc-2006Q3-base:1.21 pkgsrc-2006Q2:1.21.0.6 pkgsrc-2006Q2-base:1.21 pkgsrc-2006Q1:1.21.0.4 pkgsrc-2006Q1-base:1.21 pkgsrc-2005Q4:1.21.0.2 pkgsrc-2005Q4-base:1.21 pkgsrc-2005Q3:1.20.0.4 pkgsrc-2005Q3-base:1.20 pkgsrc-2005Q2:1.20.0.2 pkgsrc-2005Q2-base:1.20 pkgsrc-2005Q1:1.18.0.8 pkgsrc-2005Q1-base:1.18 pkgsrc-2004Q4:1.18.0.6 pkgsrc-2004Q4-base:1.18 pkgsrc-2004Q3:1.18.0.4 pkgsrc-2004Q3-base:1.18 pkgsrc-2004Q2:1.18.0.2 pkgsrc-2004Q2-base:1.18 pkgsrc-2004Q1:1.17.0.2 pkgsrc-2004Q1-base:1.17 pkgsrc-2003Q4:1.15.0.2 pkgsrc-2003Q4-base:1.15 netbsd-1-6-1:1.10.0.2 netbsd-1-6-1-base:1.10 netbsd-1-6:1.5.0.8 netbsd-1-6-RELEASE-base:1.5 pkgviews:1.5.0.4 pkgviews-base:1.5 buildlink2:1.5.0.2 buildlink2-base:1.5 netbsd-1-5-PATCH003:1.5 pkgsrc-base:1.1.1.1 TNF:1.1.1; locks; strict; comment @# @; 1.29 date 2015.01.04.12.03.08; author wiz; state dead; branches; next 1.28; commitid uSsqBVVTzNzKAH4y; 1.28 date 2011.05.11.10.28.08; author hans; state Exp; branches; next 1.27; 1.27 date 2011.04.21.17.53.26; author hans; state Exp; branches; next 1.26; 1.26 date 2010.04.11.07.25.49; author sekiya; state Exp; branches; next 1.25; 1.25 date 2010.04.10.13.26.10; author sekiya; state Exp; branches; next 1.24; 1.24 date 2010.04.10.13.20.11; author sekiya; state Exp; branches; next 1.23; 1.23 date 2009.09.15.10.46.10; author drochner; state Exp; branches; next 1.22; 1.22 date 2006.10.14.13.20.47; author rillig; state Exp; branches; next 1.21; 1.21 date 2005.10.04.20.58.43; author sketch; state Exp; branches; next 1.20; 1.20 date 2005.05.15.00.36.28; author snj; state Exp; branches; next 1.19; 1.19 date 2005.04.21.08.56.18; author pooka; state Exp; branches; next 1.18; 1.18 date 2004.05.02.07.37.19; author kim; state Exp; branches; next 1.17; 1.17 date 2004.02.24.19.39.42; author snj; state Exp; branches; next 1.16; 1.16 date 2003.11.27.17.38.29; author abs; state Exp; branches; next 1.15; 1.15 date 2003.10.01.20.48.31; author abs; state Exp; branches; next 1.14; 1.14 date 2003.09.15.11.17.28; author agc; state Exp; branches; next 1.13; 1.13 date 2003.07.12.15.25.55; author wiz; state Exp; branches; next 1.12; 1.12 date 2003.06.10.12.59.47; author wiz; state Exp; branches; next 1.11; 1.11 date 2003.06.10.06.29.07; author wiz; state Exp; branches; next 1.10; 1.10 date 2003.01.01.19.06.02; author kim; state Exp; branches; next 1.9; 1.9 date 2002.12.16.05.14.30; author lukem; state Exp; branches; next 1.8; 1.8 date 2002.11.29.02.58.47; author kim; state Exp; branches; next 1.7; 1.7 date 2002.11.29.02.37.22; author kim; state Exp; branches; next 1.6; 1.6 date 2002.09.20.00.33.13; author hubertf; state Exp; branches; next 1.5; 1.5 date 2002.03.06.09.55.23; author martin; state Exp; branches; next 1.4; 1.4 date 2002.01.16.05.37.51; author lukem; state Exp; branches; next 1.3; 1.3 date 2001.10.12.09.52.20; author agc; state Exp; branches; next 1.2; 1.2 date 2001.10.03.21.58.28; author abs; state Exp; branches; next 1.1; 1.1 date 2001.08.16.06.02.48; author lukem; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2001.08.16.06.02.48; author lukem; state Exp; branches; next ; desc @@ 1.29 log @Update to 2.6: abcde 2.6 * Fix finding $CDROM on OS X. Thanks to niederstrasser for the patch. Closes issue 71. * USEID3 and USEID3V2 variables are unused now, so remove them. Thanks to vskytta for the patch. Closes issue 73. * Clean up movement to eyeD3, remove id3v2 remnants. Thanks to vskytta for the patch. Closes issue 74. * Fix infinite loop if cddb fails. Thanks to Dominic Hargreaves for the patch. Closes: #687038 in Debian * Switch from Musepack SV7 to SV8. Thanks to Andrew Strong for the patch. * Allow aac encoding with neroAacEnc. Thanks to atheren for the patch. Closes issue 8. * Allow opus encoding with opusenc. Thanks to Tomasz Golinski for the patch. Closes issue 70. * Fix typo: s/CUEWAVEFILE/CUEWAVFILE/ so that abcde.mkcue should now produce working cue files. Closes issue 78. * Remove no-op -q option. Closes issue 106. Thanks to vskytta for the patch. * Fix issue 112: perl encoding pragma deprecation. Thanks to Alex Corrie for the patch. * Fix option parsing for multiple output formats. Thanks to matthias.andree@@gmx.de for the patch. Closes issue 115. * Fix eyeD3 tagging for cddb entries without year. Thanks to vskytta for the patch. Closes issue 107 * Add mention of CD-TEXT support in the man page. Closes issue 102. * Make Y/N prompting more consistent. Closes issue 95 * Remove the no-op -B option. Closes: #426531 in Debian * Document the need to escape parentheses in tag comments. Closes: #256941 in Debian. * Concatenate option steps on -t/-T option. Thanks to Charles Steinkuehler for the patch. Closes: #391294 in Debian * Try to use bsd-mailx where possible to force UTF-8 for cddb-tool mail submissions. If not possible, attempt to force UTF-8 via the environment and fall back to mail instead. Closes: #756289 in Debian, issue 111. -- Steve McIntyre <93sam@@debian.org> Sun, 26 Oct 2014 13:17:24 -0700 abcde 2.5.4 * Update GPL/FSF headers to match current versions. Thanks to vskytta for the patch. (Closes issue 69). * Fix the command line for ID3SYNTAX=eyed3. Thanks to neil.gm.richards for the patch. Closes issue 50. * Switch to eyed3 by default for MP3 tagging, as it looks to do UTF-8 tagging better. Closes issue 22 (hopefully) -- Steve McIntyre <93sam@@debian.org> Tue, 18 Sep 2012 12:42:11 +0100 abcde 2.5.3 * Sort options alphabetically (Closes issue 58). Thanks to vskytta for the patch. * Add Recommends: mailx in the Debian packaging for Debian/Ubuntu users. Closes: #607147 * Fix encoding call for m4a. (Closes issue 31). Closes: #449045 * Fix do_musicbrainz() for the case where there are no matches. * When using Musicbrainz, checksum and only output unique matches for an album. Closes: #669143 * Add Recommends: atomicparsley in the Debian packaging for Debian/Ubuntu users. LP: #535527 * Remove documentation of the old "-R" option for recursive searching of local CDDB data, it's now enabled always. (Closes issue 57). * Fix use of awk (sub instead of substr) when generating CRLF line endings. (Closes issue 59). * Make sure that ABCDETEMPDIR is quoted so we can deal with spaces in file and directory names. Closes issue 64. Thanks to richard.security.consultant for the patch, adapted slightly. * Tweak do_cdtext() so it works on OS X too. Closes issue 65. Thanks to richard.security.consultant for the patch. * Change cddb-tool to use bash to make sure that echo -n works. Closes issue 67. * Fixes for lots of spelling mistakes from vskytta. Closes issue 68. * For safety across different systems, avoid using "sed -i". Closes issue 66. -- Steve McIntyre <93sam@@debian.org> Sat, 16 Jun 2012 15:12:11 +0100 abcde 2.5.2 [ Steve McIntyre ] * Re-fix speex tagging. (Closes issue 19). Thanks to vskytta for pointing out the problem - patch not applied properly in 2.5.1 * Quickly re-release as 2.5.2 -- Steve McIntyre <93sam@@debian.org> Sun, 29 Apr 2012 17:17:14 +0100 abcde 2.5.1 [ Steve McIntyre ] * Several patches for improved Musicbrainz support from Martin Michlmayr: + add musicbrainz support for FLAC files with embedded cue files. Closes: #669139 + Don't submit to CDDB server when using musicbrainz Closes: #669140 + Don't tag CDDB string with musicbrainz id Closes: #669141 * Fix speex tagging. (Closes issue 19). Thanks to vskytta for the patch. * Fix aac tagging. (Closes issue 7). Thanks to Andrew Strong for forwarding the patch. * Add ATOMICPARSLEY=AtomicParsley (Closes issue 37). * On OS X, switch from disktool to diskutil. (Closes issue 43). * Updates for CD device detection: + Look for /dev/sr0, in case /dev/cdrom doesn't exist. (Closes issue 52). + Add suggested diskutil code to auto-detect the CD on OS X. (Closes issue 45). * Check that we have $CDDBTOOL before we start. (Closes issue 27). * Change the meaning of EXTRAVERBOSE; previously, it was a y/n option to make things more verbose. Add extra levels of verbosity (0, 1, 2 so far) and a new vvecho() function for callers to use. * With EXTRAVERBOSE==2 or more, make run_command() print out each command as it's run. (Closes issue 39). * If we don't find any CDDB or Musicbrainz information for the CD, try to extract CD-Text information to populate the cddbinfo template. (Closes issue 41). * Try to give more helpful error messages when we can't parse the command line, and exit rather than carry on. (Closes issue 51). [ Colin Tuckley ] * replace deprecated egrep with grep -E (Closes issue 24). Thanks to vskytta for the patch. * remove -o 0 options from make install (Closes issue 17). Thanks to vskytta for the patch. * clean up indentation on older changelog entries * remove tarball target from Makefile since dir structure has changed now that we use subversion. * improve presentation of options/defaults when asking a question (closes issue 9) -- Steve McIntyre <93sam@@debian.org> Wed, 25 Apr 2012 12:35:00 +0100 abcde 2.5.0 * Bumped to 2.5.0 * Add support for Musicbrainz using a perl helper script. Closes: #665970 * Tweak man page. Thanks to Mats Erik Andersson for the patch. Closes: #627237 * Make the -q option work again. Thanks to A Mennucc for the patch. Closes: #562522 -- Steve McIntyre <93sam@@debian.org> Fri, 13 Apr 2012 22:29:45 +0100 abcde 2.4.2 * Bumped to 2.4.2 * Fix Cue file always references "dummy.wav" bug patch from Chris Chiappa (Closes: #459928). * Whitespace cleanup, replace single perl instance with sed (Charles Steinkuehler) * Fix leadin/leadout computation for cue files broken bug Patch from Martin Michlmayr (Closes: #582175). -- Colin Tuckley Sat, 29 May 2010 09:43:01 +0100 abcde 2.4.1 * Bumped to 2.4.1 * In manpage note a 2nd use for LOWDISK (or '-l' switch) it's faster and better on scratchy disks (Closes: #426343). * Add configurable options for replaygain tools. * Fix syntax error in tagged speex command (Closes: #554406) Ubuntu patch by Michael Helmling. * Fix mp3 tagging fails for single author albums (Closes: #554030) -- Colin Tuckley Sun, 14 Feb 2010 13:09:47 +0000 abcde 2.4.0 * Bumped to 2.4 * Corrected REDIR redirection, this time with ifs instead of variable substitution, which did not work (Closes: #527191). * Added TPE2 for Various artists definition (Closes: #521669). * Incorporate syntax error fix patch from Andrew Ruder. * Fix formatting for track number tagging. * Replace dependency on cdda2wav with icedax since the former has been superseded. -- Colin Tuckley Fri, 16 Oct 2009 19:33:33 +0100 abcde 2.3.99.8 * Remove svn Revision tag from version. * Correct homepage URL in README (Closes: #526165). * Fix typos (Closes: #435605, #435606). * Fix misspelling of comma in script and manpage (Closes: #435603). * Fix Writable temp directories not owned/writeable (Closes: #143552). * Fix broken range code, patch from Charles Steinkuehler (Closes: #389981). * Remove unneeded escapes in cddb-tool URLs. Add support for freedb2 (Closes: #391110). another patch from Charles Steinkuehler. * Fix Endless loop possible when mp3gain asks clipping question bug (Closes: #411579). * Update Vcs-Svn: tag in debian/control. * Add a recommends for vorbis-tools (Closes: #392843). * Update standards version to 3.8.2 (no changes required). * Fix debian/preinst not to ignore errors. -- Colin Tuckley Sun, 02 Aug 2009 13:32:30 +0100 @ text @$NetBSD: patch-ac,v 1.28 2011/05/11 10:28:08 hans Exp $ --- abcde.orig 2010-04-10 10:14:30.000000000 +0900 +++ abcde 2010-04-10 18:40:03.000000000 +0900 @@@@ -415,10 +415,10 @@@@ { case $1 in TRACKNAME1) - TRACKNAME="$(grep ^TTITLE$CDDBTRACKNUM= "$CDDBDATA" | head -n 1 | cut -f2- -d= | tr -d \[:cntrl:\] | sed 's/\ \+$//')" + TRACKNAME="$(grep ^TTITLE$CDDBTRACKNUM= "$CDDBDATA" | head -n 1 | cut -f2- -d= | tr -d \[:cntrl:\] | ${SED} 's/\ \+$//')" ;; TRACKNAME) - TRACKNAME="$(grep ^TTITLE$CDDBTRACKNUM= "$CDDBDATA" | cut -f2- -d= | tr -d \[:cntrl:\] | sed 's/\ \+$//')" + TRACKNAME="$(grep ^TTITLE$CDDBTRACKNUM= "$CDDBDATA" | cut -f2- -d= | tr -d \[:cntrl:\] | ${SED} 's/\ \+$//')" ;; esac } @@@@ -575,32 +575,32 @@@@ if [ "$VARIOUSARTISTS" = "y" ] && [ ! "$ONETRACK" = "y" ]; then case "$VARIOUSARTISTSTYLE" in forward) - DTITLEARTIST="$(echo "$TRACKNAME" | sed 's- / -~-g')" + DTITLEARTIST="$(echo "$TRACKNAME" | ${SED} 's- / -~-g')" TRACKARTIST="$(echo "$DTITLEARTIST" | cut -f1 -d~)" TRACKNAME="$(echo "$DTITLEARTIST" | cut -f2 -d~)" ;; forward-dash) - DTITLEARTIST="$(echo "$TRACKNAME" | sed 's, - ,~,g')" + DTITLEARTIST="$(echo "$TRACKNAME" | ${SED} 's, - ,~,g')" TRACKARTIST="$(echo "$DTITLEARTIST" | cut -f1 -d~)" TRACKNAME="$(echo "$DTITLEARTIST" | cut -f2 -d~)" ;; reverse) - DTITLEARTIST="$(echo "$TRACKNAME" | sed 's- / -~-g')" + DTITLEARTIST="$(echo "$TRACKNAME" | ${SED} 's- / -~-g')" TRACKARTIST="$(echo "$DTITLEARTIST" | cut -f2 -d~)" TRACKNAME="$(echo "$DTITLEARTIST" | cut -f1 -d~)" ;; reverse-dash) - DTITLEARTIST="$(echo "$TRACKNAME" | sed 's, - ,~,g')" + DTITLEARTIST="$(echo "$TRACKNAME" | ${SED} 's, - ,~,g')" TRACKARTIST="$(echo "$DTITLEARTIST" | cut -f2 -d~)" TRACKNAME="$(echo "$DTITLEARTIST" | cut -f1 -d~)" ;; colon) - DTITLEARTIST="$(echo "$TRACKNAME" | sed 's-: -~-g')" + DTITLEARTIST="$(echo "$TRACKNAME" | ${SED} 's-: -~-g')" TRACKARTIST="$(echo "$DTITLEARTIST" | cut -f1 -d~)" TRACKNAME="$(echo "$DTITLEARTIST" | cut -f2 -d~)" ;; trailing-paren) - DTITLEARTIST="$(echo "$TRACKNAME" | sed 's,^\(.*\) (\(.*\)),\1~\2,')" + DTITLEARTIST="$(echo "$TRACKNAME" | ${SED} 's,^\(.*\) (\(.*\)),\1~\2,')" TRACKARTIST="$(echo "$DTITLEARTIST" | cut -f2 -d~)" TRACKNAME="$(echo "$DTITLEARTIST" | cut -f1 -d~)" ;; @@@@ -1519,7 +1519,7 @@@@ if [ "$DOSPLAYLIST" = "y" ]; then awk '{substr("\r",""); printf "%s\r\n", $0}' "$OUTPUTDIR/$PLAYLISTFILE" > "$ABCDETEMPDIR/PLAYLISTFILE.tmp" # mv -f "$ABCDETEMPDIR/PLAYLISTFILE.tmp" "$OUTPUTDIR/$PLAYLISTFILE" - cat "$ABCDETEMPDIR/PLAYLISTFILE.tmp" | sed 's/\//\\/' > "$OUTPUTDIR/$PLAYLISTFILE" + cat "$ABCDETEMPDIR/PLAYLISTFILE.tmp" | ${SED} 's/\//\\/' > "$OUTPUTDIR/$PLAYLISTFILE" fi echo "playlistcomplete" >> "$ABCDETEMPDIR/status" done @@@@ -1703,7 +1703,7 @@@@ #TRACKS=$(echo $CUESHEET | egrep "TRACK \+[[:digit:]]\+ \+AUDIO" |wc -l) #TRACKS=0 - OFFSETTIMES=( $(echo "$CUESHEET" | sed -n -e's/\ *INDEX 01\ \+//p' ) ) + OFFSETTIMES=( $(echo "$CUESHEET" | ${SED} -n -e's/\ *INDEX 01\ \+//p' ) ) TRACKS=${#OFFSETTIMES[@@]} unset OFFSETS #echo "processing offsetimes ${OFFSETTIMES[@@]}" @@@@ -1737,7 +1737,7 @@@@ # CDPARANOIAAUDIOTRACKS="$TRACKS" # # LEADOUT="$(echo "$CDPARANOIAOUTPUT" | egrep -o '^TOTAL[[:space:]]+([[:digit:]]+)' | get_last)" -# OFFSETS="$(echo "$CDPARANOIAOUTPUT" | sed -n -e's/^ .* \([0-9]\+\) \[.*/\1/p')" +# OFFSETS="$(echo "$CDPARANOIAOUTPUT" | ${SED} -n -e's/^ .* \([0-9]\+\) \[.*/\1/p')" # makeids # ;; *) @@@@ -1831,7 +1831,7 @@@@ TRACKS=$(echo $TRACKINFO | cut -f2 -d' ') # User-supplied track queue. # Weed out non-numbers, whitespace, then sort and weed out duplicates - TRACKQUEUE=$(echo $TRACKQUEUE | sed 's-[^0-9 ]--g' | tr ' ' '\n' | grep -v ^$ | sort -n | uniq | tr '\n' ' ' | sed 's- $--g') + TRACKQUEUE=$(echo $TRACKQUEUE | ${SED} 's-[^0-9 ]--g' | tr ' ' '\n' | grep -v ^$ | sort -n | uniq | tr '\n' ' ' | ${SED} 's- $--g') # Once cleaned, obtain the highest value in the trackqueue for number padding for LASTTRACK in $TRACKQUEUE; do :; done if [ ! "$PADTRACKS" = "y" ] ; then @@@@ -2760,7 +2760,7 @@@@ cddafs) # Find the track's mounted path REALTRACKNUM=$(expr $UTRACKNUM + 0) - FILEPATH=$(mount | grep "$CDROM on" | sed 's/^[^ ]* on \(.*\) (.*/\1/') + FILEPATH=$(mount | grep "$CDROM on" | ${SED} 's/^[^ ]* on \(.*\) (.*/\1/') FILEPATH=$(find "$FILEPATH" | grep "/$REALTRACKNUM "); # If the file exists, copy it if [ -e "$FILEPATH" ] ; then @@@@ -2841,8 +2841,8 @@@@ # Custom filename munging: mungefilename () { - #echo "$@@" | sed s,:,\ -,g | tr \ /\* __+ | tr -d \'\"\?\[:cntrl:\] - echo "$@@" | sed s,:,\ -,g | tr \ / __ | tr -d \'\"\?\[:cntrl:\] + #echo "$@@" | ${SED} s,:,\ -,g | tr \ /\* __+ | tr -d \'\"\?\[:cntrl:\] + echo "$@@" | ${SED} s,:,\ -,g | tr \ / __ | tr -d \'\"\?\[:cntrl:\] } # Custom genre munging: @@@@ -3037,6 +3037,9 @@@@ DEFAULT_QUALITY_HI="oggenc:-q 7,lame:--preset standard,speex:--quality 9,m4a:" DEFAULT_QUALITY_XHI="oggenc:-q 10,lame:--preset extreme,speex:--quality 10,m4a:" +# We need GNU sed +SED=sed + # Asume fetch if under FreeBSD. curl is used for Mac OS X. wget is used for # Linux/OpenBSD. ftp is user for NetBSD. # Let's use these checkings to determine the OS flavour, which will be used @@@@ -3060,10 +3063,12 @@@@ HTTPGET=ftp MD5SUM=md5 OSFLAVOUR=NBSD + SED=@@TOOLS_GSED@@ elif [ X$(uname) = "SunOS" ] ; then - HTTPGET="" + HTTPGET=ftp MD5SUM=md5 OSFLAVOUR=SunOS + SED=@@TOOLS_GSED@@ else HTTPGET=wget fi @ 1.28 log @Fix gsed dependency on NetBSD. Use TOOLS_PATH.gsed to find gsed. @ text @d1 1 a1 1 $NetBSD: patch-ac,v 1.27 2011/04/21 17:53:26 hans Exp $ @ 1.27 log @Make this work on SunOS. audio/cdparanoia is not available for SunOS, but devel/libcdio has a working alternative. Also, don't depend on gsed directly, add it to USE_TOOLS. @ text @d1 1 a1 1 $NetBSD: patch-ac,v 1.26 2010/04/11 07:25:49 sekiya Exp $ d123 1 a123 1 @@@@ -3060,6 +3063,7 @@@@ d127 1 a127 1 + SED=gsed d133 1 a133 1 + SED=gsed @ 1.26 log @Several fixes suggested by wiz@@ ... thanks! @ text @d1 1 a1 1 $NetBSD: patch-ac,v 1.25 2010/04/10 13:26:10 sekiya Exp $ d129 2 a130 1 HTTPGET="" d132 5 @ 1.25 log @Oops, committed wrong version of patch-ac. @ text @d1 1 a1 1 $NetBSD: patch-ac,v 1.24 2010/04/10 13:20:11 sekiya Exp $ a4 6 @@@@ -1,4 +1,4 @@@@ -#!/bin/bash +#! /usr/bin/env bash # Copyright (c) 1998-2001 Robert Woodcock # Copyright (c) 2003-2006 Jesus Climent # This code is hereby licensed for public consumption under either the @ 1.24 log @Update to 2.3.99.7, take ownership. Okay'ed by sketch@@ @ text @d1 1 a1 1 $NetBSD: patch-ac,v 1.23 2009/09/15 10:46:10 drochner Exp $ d7 1 a7 1 +#!/usr/pkg/bin/bash @ 1.23 log @improve handling of CDs where track 1 starts after the usual 2s gap: Where CDDA data are filled into the cue sheet, make sure only one title is used per track, otherwise data would shift by 1 entry and no title would be left for the last track. This is still not perfect because there is no (documented) way to get the audio data within that gap with cdda2wav or cdparanoia, so the audio data don't match the cue sheet fully, but at least the cue sheet is not a total mess. bump PKGREVISION @ text @d1 1 a1 1 $NetBSD$ d3 9 a11 26 --- abcde.orig 2005-08-26 00:43:27.000000000 +0200 +++ abcde @@@@ -1302,14 +1302,20 @@@@ do_cleancue() # FIXME It doesn't preserve spaces! Why? # FIXME parse $track into PERFORMER and TITLE - abcde already has code for this? n=1 + newtrack=0 echo "PERFORMER \"$DARTIST\"" >> "$CUEFILE_OUT" echo "TITLE \"$DALBUM\"" >> "$CUEFILE_OUT" cat "$CUEFILE_IN" | while read line do - if echo "$line" | grep -q "INDEX" + if echo "$line" | grep -q "TRACK" + then + newtrack=1 + fi + if echo "$line" | grep -q "INDEX" && [ $newtrack = 1 ] then eval track="\$TRACK$n" n=$(expr $n + 1) + newtrack=0 echo "TITLE \"$track\"" >> "$CUEFILE_OUT" fi echo "$line" >> "$CUEFILE_OUT" @@@@ -1559,7 +1565,11 @@@@ do_cddbread () do_cddbedit () d13 104 a116 11 if checkstatus cddb-edit >/dev/null; then + # Strip out ^M CDDBDATA="$ABCDETEMPDIR/cddbread.$(checkstatus cddb-choice)" + CDDBDATATMP="$ABCDETEMPDIR/cddbread.tmp" + tr -d '\r' < $CDDBDATA > $CDDBDATATMP + mv $CDDBDATATMP $CDDBDATA VARIOUSARTISTS="$(checkstatus variousartists)" VARIOUSARTISTSTYLE="$(checkstatus variousartiststyle)" return 0 @@@@ -1824,7 +1834,7 @@@@ do_cddbedit () echo "variousartiststyle=$VARIOUSARTISTSTYLE" >> "$ABCDETEMPDIR/status" d118 18 a135 26 if [ "$EDITCDDB" = "y" ] && [ "$UNINTENTIONALLY_ANGER_THE_FREEDB_PEOPLE" = "y" ]; then - if [ $CDDBDATAMD5SUM != "" ] && [ $CDDBDATAMD5SUM != $($MD5SUM "$CDDBDATA" | cut -d " " -f 1) ]; then + if [ "$CDDBDATAMD5SUM" != "" ] && [ "$CDDBDATAMD5SUM" != "$($MD5SUM '$CDDBDATA' | cut -d' ' -f1)" ]; then # This works but does not have the necessary error checking # yet. If you are familiar with the CDDB spec # (see http://www.freedb.org/src/latest/DBFORMAT) @@@@ -2114,7 +2124,7 @@@@ MD5SUM=md5sum DISTMP3=distmp3 VORBISCOMMENT=vorbiscomment METAFLAC=metaflac -NORMALIZE=normalize-audio +NORMALIZE=normalize CDSPEED=eject VORBISGAIN=vorbisgain MKCUE=mkcue @@@@ -2169,6 +2179,7 @@@@ if [ X$(uname) = "XFreeBSD" ] ; then HTTPGET=fetch NEEDCDROMID=y OSFLAVOUR=FBSD + MD5SUM=md5 elif [ X$(uname) = "XDarwin" ] ; then HTTPGET=curl OSFLAVOUR=OSX @@@@ -2178,6 +2189,9 @@@@ elif [ X$(uname) = "XDarwin" ] ; then elif [ X$(uname) = "XOpenBSD" ] ; then HTTPGET=wget a136 35 +elif [ X$(uname) = "XNetBSD" ] ; then + HTTPGET=wget + MD5SUM=md5 else HTTPGET=wget fi @@@@ -2231,6 +2245,9 @@@@ if [ "$CDROM" = "" ] ; then CDROM=/dev/acd0c elif [ -e /dev/disk1 ]; then CDROM=/dev/disk1 + else + RAWPART=`sysctl -n kern.rawpartition | awk '{printf "%c",97+$0}'` + CDROM=/dev/rcd0$RAWPART fi fi @@@@ -2427,7 +2444,7 @@@@ fi case "$CDROMREADERSYNTAX" in cdparanoia|debug) CDROMREADER="$CDPARANOIA" - CDROMREADEROPTS="$CDPARANOIAOPTS" + CDROMREADEROPTS="$CDPARANOIAOPTS -g ${CDROM}" ;; cdda2wav) CDROMREADER="$CDDA2WAV" @@@@ -2681,7 +2698,8 @@@@ for X in $CDROMREADER $CDDISCID ${NEEDTA do # Cut off the command-line options we just added in X=$(echo $X | cut -d' ' -f2) - if [ "$(which $X)" = "" ]; then + Y="$(which $X | cut -d' ' -f1,2)" + if [ "$Y" = "" -o "$Y" = "no $X" ]; then echo "abcde error: $X is not in your path." >&2 exit 1 elif [ ! -x $(which $X) ]; then @ 1.22 log @Fixed PKGMANDIR and the path to the configuration file from the manual page, which was mentioned in PR 34813. @ text @d1 1 a1 1 $NetBSD: patch-ac,v 1.21 2005/10/04 20:58:43 sketch Exp $ d3 25 a27 3 --- abcde.orig 2005-10-04 21:39:38.000000000 +0100 +++ abcde 2005-10-04 21:44:53.000000000 +0100 @@@@ -1559,7 +1559,11 @@@@ d39 1 a39 1 @@@@ -1824,7 +1828,7 @@@@ d48 1 a48 1 @@@@ -2114,7 +2118,7 @@@@ d57 1 a57 1 @@@@ -2169,6 +2173,7 @@@@ d65 1 a65 1 @@@@ -2178,6 +2183,9 @@@@ d75 1 a75 1 @@@@ -2231,6 +2239,9 @@@@ d85 1 a85 1 @@@@ -2427,7 +2438,7 @@@@ d94 1 a94 1 @@@@ -2681,7 +2692,8 @@@@ @ 1.21 log @Update abcde to version 2.3.2. Changes since 2.2.6: abcde 2.3.2 * Too fast... I forgot to make the tarball and change the version strings in several places. Fixed. -- Jesus Climent Fri, 19 Aug 2005 00:44:37 +0300 abcde 2.3.1 * The new "I knew there were going to be bugs" upstream release! * MKCUE needs to be passed some $CDROM as an option, or otherwise it will not read the CDROM, in case is not /dev/cdrom. * Also, make the CUEREADER a bit more general, since we might be using other CUE extractors. -- Jesus Climent Thu, 18 Aug 2005 23:44:20 +0300 abcde 2.3.0 * New upstream release! * Defining the tracknumber now resets the first track if given a number different than 1 (that is: abcde -T 1 2-10 creates songs 1 to 9). * Modified the FAQ to reflect the changes on Marillat's repo (Closes: #315724). * Should be "space" safe: works properly when the working directory contains a space (Closes: #147493). * Repared the CD query for the discid code. When failing to read a disc, actually report that there might be no disc in the drive. * Right now, walk over the different encoders we Depends: on in Debian and use the one available: if a user has a FLAC encoder, abcde will no install vorbis-tools, so it will fail to run out of the box (Closes: #321216) * Added CUE support. Still experimental... * Added FLAC on Ogg. Still not activated, since we cannot get comments added as a post-process action. * Applied patches from Fedora Core (Credit goes to Nils Philippsen ) * Added a post_read() function to be executed before ejecting the CD. * Typos reported by A Costa corrected (Closes: #311463) * Problem with abcde being run in a directory with files containing only numbers solved (Closes: #313628). * vorbiscomment uses now "-R" (Closes: #303566). * "-t" and "-T" use the first track as a starter for the track list. (Closes: #305749). * Added CDPARANOIACDROMBUS option to define -d in case of using IDE and SCSI in case of using ide-scsi emulation layer (Closes: #290768). * Define metaflac in abcde.conf (Closes: #303555) -- Jesus Climent Wed, 10 Aug 2005 07:00:26 +0300 @ text @d1 1 a1 1 $NetBSD: patch-ac,v 1.20 2005/05/15 00:36:28 snj Exp $ a52 11 @@@@ -2197,8 +2205,8 @@@@ fi # Load system defaults -if [ -r /etc/abcde.conf ]; then - . /etc/abcde.conf +if [ -r @@PKG_SYSCONFDIR@@/abcde.conf ]; then + . @@PKG_SYSCONFDIR@@/abcde.conf fi # Load user preference defaults if [ -r $HOME/.abcde.conf ]; then @ 1.20 log @Update to 2.2.6. Closes PR pkg/29463. Set NORMALIZE to "normalize" by default, to match what is installed by pkgsrc/audio/normalize. This fixes part of PR pkg/29755. This release brings various bugfixes and small features. Check the included changelog for details. @ text @d1 1 a1 1 $NetBSD$ d3 3 a5 3 --- abcde.orig 2005-04-03 11:50:28.000000000 -0700 +++ abcde 2005-05-14 09:21:24.000000000 -0700 @@@@ -1227,7 +1227,11 @@@@ do_cddbread () d17 1 a17 1 @@@@ -1482,7 +1486,7 @@@@ do_cddbedit () d21 1 a21 1 - if [ $CDDBDATAMD5SUM != "" ] && [ $CDDBDATAMD5SUM != $($MD5SUM "$CDDBDATA" | cut -d" " -f1) ]; then d26 1 a26 1 @@@@ -1764,7 +1768,7 @@@@ MD5SUM=md5sum d34 2 a35 2 @@@@ -1811,6 +1815,7 @@@@ if [ X$(uname) = "XFreeBSD" ] ; then d43 1 a43 1 @@@@ -1819,6 +1824,9 @@@@ elif [ X$(uname) = "XDarwin" ] ; then d53 1 a53 1 @@@@ -1837,8 +1845,8 @@@@ if [ -z "$WAVOUTPUTDIR" ]; then d64 1 a64 1 @@@@ -1871,6 +1879,9 @@@@ if [ "$CDROM" = "" ] ; then d74 1 a74 1 @@@@ -2011,7 +2022,7 @@@@ fi d83 1 a83 1 @@@@ -2185,7 +2196,8 @@@@ for X in $CDROMREADER $CDDISCID ${NEEDTA @ 1.19 log @Our md5 tool is called "md5", not "md5sum". And while in here, fix it for FreeBSD also. @ text @d3 3 a5 3 --- abcde.orig 2004-11-08 16:40:30.000000000 +0200 +++ abcde 2005-04-21 11:55:39.000000000 +0300 @@@@ -1215,7 +1215,11 @@@@ d17 1 a17 1 @@@@ -1470,7 +1474,7 @@@@ d21 2 a22 2 - if [ $CDDBDATAMD5SUM != "" ] && [ $CDDBDATAMD5SUM != $($MD5SUM "$CDDBDATA" | cut -d " " -f 1) ]; then + if [ "$CDDBDATAMD5SUM" != "" ] && [ "$CDDBDATAMD5SUM" != "$($MD5SUM '$CDDBDATA' | cut -d ' ' -f 1)" ]; then d26 10 a35 1 @@@@ -1799,6 +1803,7 @@@@ d43 1 a43 1 @@@@ -1807,6 +1812,9 @@@@ d53 1 a53 1 @@@@ -1825,8 +1833,8 @@@@ d64 1 a64 1 @@@@ -1859,6 +1867,9 @@@@ d74 1 a74 1 @@@@ -1997,7 +2008,7 @@@@ d83 1 a83 1 @@@@ -2148,7 +2159,8 @@@@ @ 1.18 log @Make abcde not barf when UNINTENTIONALLY_ANGER_THE_FREEDB_PEOPLE=y although it still won't email anything (I will look at that more). @ text @d3 3 a5 3 --- abcde.orig 2004-04-09 14:12:15.000000000 -0400 +++ abcde 2004-04-25 23:19:43.000000000 -0400 @@@@ -1129,7 +1129,11 @@@@ d17 1 a17 1 @@@@ -1373,7 +1377,7 @@@@ d26 19 a44 1 @@@@ -1703,8 +1707,8 @@@@ d55 1 a55 1 @@@@ -1737,6 +1741,9 @@@@ d65 1 a65 1 @@@@ -1837,7 +1844,7 @@@@ d74 1 a74 1 @@@@ -1979,7 +1986,8 @@@@ @ 1.17 log @Update to abcde-2.1.15. Changes since 2.1.9: * Portability fixes for OS X and OpenBSD * EDITOR can take a full path and arguments * The "-V" flag (extra verbosity) was added * Miscellaneous bugfixes Also, remove patch-ad, as it was buggy and unnecessary. This part closes PR pkg/24401. @ text @d1 1 a1 1 $NetBSD: patch-ac,v 1.16 2003/11/27 17:38:29 abs Exp $ d3 3 a5 3 --- abcde.orig 2004-02-15 16:19:36.000000000 -0800 +++ abcde 2004-02-23 10:50:21.000000000 -0800 @@@@ -1026,7 +1026,11 @@@@ do_cddbread () d17 10 a26 1 @@@@ -1494,8 +1498,8 @@@@ if [ -z "$WAVOUTPUTDIR" ]; then d37 1 a37 1 @@@@ -1528,6 +1532,9 @@@@ if [ "$CDROM" = "" ] ; then d47 1 a47 1 @@@@ -1603,7 +1610,7 @@@@ fi d56 1 a56 1 @@@@ -1737,7 +1744,8 @@@@ for X in $CDROMREADER $CDDISCID ${NEEDTA @ 1.16 log @Update abcde to 2.1.9 80 lines of changelog since 2.1.4, mainly small fixes @ text @d1 1 a1 1 $NetBSD$ d3 15 a17 16 --- abcde.orig 2003-11-05 16:08:37.000000000 +0000 +++ abcde @@@@ -963,7 +963,12 @@@@ do_cddbedit () echo "abcde: internal error: cddb-choice not recorded." >&2 exit 1 fi + + # Strip out ^M CDDBDATA="$ABCDETEMPDIR/cddbread.$(checkstatus cddb-choice)" + CDDBDATATMP="$ABCDETEMPDIR/cddbread.tmp" + tr -d '\r' < $CDDBDATA > $CDDBDATATMP + mv $CDDBDATATMP $CDDBDATA if [ "$INTERACTIVE" = "y" ]; then echo -n "Edit selected CDDB data? [y/n] (n): " >&2 @@@@ -1281,8 +1286,8 @@@@ if [ -z "$WAVOUTPUTDIR" ]; then d28 1 a28 2 @@@@ -1308,8 +1313,8 @@@@ else elif [ -e /dev/acd0c ]; then d30 3 a32 3 else - echo "abcde error: CDROM device cannot be found." >&2 - exit 1 d38 1 a38 1 @@@@ -1356,7 +1361,7 @@@@ done d47 1 a47 1 @@@@ -1485,7 +1490,8 @@@@ for X in $CDROMREADER $CDDISCID ${NEEDTA @ 1.15 log @Update abcde to 2.1.4nb5: Strip out \r from the end of the CDDB data to make editing easier @ text @d3 1 a3 1 --- abcde.orig Sun May 18 20:01:13 2003 d5 1 a5 10 @@@@ -337,7 +337,7 @@@@ do_batch_encode () do TRACKFILES="$TRACKFILES track$UTRACKNUM.wav" done - nice $ENCNICE $ENCODER $ENCODEROPTS --nogap $TRACKFILES + nice $ENCNICE $MP3ENCODER $MP3ENCODEROPTS --nogap $TRACKFILES RETURN=$? if [ "$RETURN" != "0" ]; then echo "batch-encode: $ENCODER returned code $RETURN" >> errors @@@@ -928,7 +928,12 @@@@ do_cddbedit () d18 1 a18 1 @@@@ -1233,8 +1238,8 @@@@ if [ -z "$WAVOUTPUTDIR" ]; then d29 1 a29 1 @@@@ -1260,8 +1265,8 @@@@ else d40 1 a40 1 @@@@ -1308,7 +1313,7 @@@@ done d49 1 a49 1 @@@@ -1427,7 +1432,8 @@@@ for X in $CDROMREADER $CDDISCID ${NEEDTA @ 1.14 log @Incorporate James Wetterau's patch from PR 20763 to warn if there is no encoder in the path. Unify patch-ac and patch-ae which both patch the same file. Bump pkgrevision to nb4 @ text @d1 1 a1 1 $NetBSD: patch-ac,v 1.13 2003/07/12 15:25:55 wiz Exp $ d3 1 a3 1 --- abcde.orig Sun May 18 23:01:13 2003 d5 1 a5 1 @@@@ -337,7 +337,7 @@@@ d14 14 a27 1 @@@@ -1233,8 +1233,8 @@@@ if [ -z "$WAVOUTPUTDIR" ]; then d38 1 a38 1 @@@@ -1260,8 +1260,8 @@@@ else d49 1 a49 1 @@@@ -1308,7 +1308,7 @@@@ done d58 1 a58 1 @@@@ -1427,7 +1427,8 @@@@ @ 1.13 log @abcde ignored -d flag when in cdparanoia mode. From Sergey Svishchev in PR 19872. Bump PKGREVISION. @ text @d1 1 a1 1 $NetBSD$ d5 9 d45 10 @ 1.12 log @Fix PKG_SYSCONFDIR usage. Noted by salo. Let's assume not too many binary packages have been built in the last hours, and forget about the PKGREVISION bump. @ text @d1 1 a1 1 $NetBSD: patch-ac,v 1.11 2003/06/10 06:29:07 wiz Exp $ d3 3 a5 3 --- abcde.orig 2003-05-25 12:37:53.000000000 +0200 +++ abcde 2003-05-25 12:40:44.000000000 +0200 @@@@ -1233,8 +1233,8 @@@@ d16 1 a16 1 @@@@ -1260,8 +1260,9 @@@@ a23 1 + CDPARANOIAOPTS="-g ${CDROM}" d26 10 a35 1 @ 1.11 log @Update to 2.1.4, from Juan RP in PR 21671: abcde 2.1.4: * Small bug fixes: + COMMENT should work now. + Aesthetic padding on the total amount of tracks. + CDROM typo + CDROM is now checked after reading the user defined entries. * Remove trailing args from $EDITOR when checking -x: Closes #179222. abcde 2.1.3 * Makefile was missing cddb-tool.1. * Introduced dagrab as CD ripping utility. * cddb-tool seq calls converted to functions. No more distro dependencies. * WGET* variables converted to HTTPGET* variables. FreeBSD can safelly use fetch. * More FreeBSD specific bits: CDROM and EJECT changes. * Typo in abcde.conf * Added CDDBPROTO for specifying the protocol level of the cddb query. * CDDB protocol upgraded to 5. CDYEAR and CDGENRE are now used for CD tagging. * COMMENT is now used for inline tagging with oggenc (my mistake it was missing): Closes: #191475. abcde 2.1.2 * Documentation updates: Closes: #186230. * Usual set of bug fixes and corrections. * Default behaviour of VAOUTPUTFORMAT output changed to avoid multiple directories for a same album. I think the format is more logical, and you can always split the files once they are created. * Padding track wavs with 0 so if you want to burn those wavs just cdrecord *.wav will do it. Use "-p" to force it when encoding a small (<9) number of files (Closes: #111627). * Added "KEEPWAVS" as a variable to keep those wavs. Default is "no". Can use also "-k" in the command line. (Closes: #160372). This probably should be changed with an option to move the wav files to another directory instead of just keep de abcde. directory. * Added documentation comments about OUTPUTTYPE (Closes: #184963). * abcde.conf cleanup: (Closes: #186230, #187400). abcde 2.1.0-3 * Since abcde does not depend on eject, an execution test ([-x]) was added, but that means abcde needs a test for eject in the patch if -x is passed: Closes: #184151. * Merged some more bits from Marc 'HE' Brockschmidt: Closes: #126289. * A bit of more info in abcde.conf: Closes: #184963. * cddb-tool version updated to 0.4.2 abcde 2.1.0-2 * Old version string left behind. Updated. * Few more doc update bits. * Patches from Marc 'HE' Brockschmidt: Closes: #149499. * Small patch from Norbert Preining to support multiple output in the output directory. * cddb-tool parses CDYEAR with the help of awk: Closes: #114848. * cddb-tool does not globe "*" characters anymore: Closes: #157448. abcde 2.1.0 * The infamous "Works for me(TM)" and "Time to release" release. + We preppend track number now: Closes: #128966. + Itegrate flac: Closes: #126311. + Multi-format encode: Closes: #148934. + Gapless lame encoding: Closes: #172696. + CDROM documented: Closes: #182403. * Applied OpenBSD patches to make the script more portable. Thanks to Han Boetes. * Documentation fixes: closes: #100844, #136741. * NetBSD patches applied: - EXPERIMENTAL Normalize and Batch support. - EXPERIMENTAL FLAC support. * EXPERIMENTAL multiple output support: + multiple output and error checking + multiple lists support * Default output file changed to have the $track_number in the begining. * abcde takeover. @ text @d1 1 a1 1 $NetBSD: patch-ac,v 1.10 2003/01/01 19:06:02 kim Exp $ d11 2 a12 2 +if [ -r @@PKG_SYSCONFDIR@@/etc/abcde.conf ]; then + . @@PKG_SYSCONFDIR@@/etc/abcde.conf @ 1.10 log @Add support for per-track and per-album (batch) normalizing. @ text @d1 1 a1 1 $NetBSD$ d3 3 a5 323 --- abcde.orig Mon Jan 28 00:44:02 2002 +++ abcde Wed Jan 1 13:50:59 2003 @@@@ -17,7 +17,8 @@@@ echo "This is abcde v$VERSION." echo "Usage: abcde [options] [tracks]" echo "Options:" -echo "-a Specify actions to perform (cddb,read,encode,tag,move,playlist,clean)" +echo "-a Actions to perform (cddb,read,normalize,encode,tag,move,playlist,clean)" +echo "-b Batch mode: enable album normalization and nogap encoding" echo "-c Specify a configuration file (overrides system and user config files)" echo "-C Specify discid to resume from (only needed if you no longer have the cd)" echo "-d Specify CDROM device to grab" @@@@ -27,7 +28,7 @@@@ echo "-l Use low disk space algorithm" echo "-n No lookup. Don't query CDDB, just create and use template" echo "-N Noninteractive. Never prompt for anything" -echo "-o Output file type - either \"ogg\" or \"mp3\"" +echo "-o Output file type - either \"ogg\", \"mp3\"" or \"flac\" echo "-r [host1,host2...] Also encode on these remote hosts" echo "-x Eject CD after all tracks are read" echo "Tracks is a space-delimited list of tracks to grab." @@@@ -101,6 +102,14 @@@@ RETURN=$? fi fi + case "$1" in + normalize) + if [ "$RETURN" = "2" ]; then + # File was already normalized. + RETURN=0 + fi + ;; + esac if [ "$RETURN" != "0" ]; then # Put an error in the errors file. For various reasons we # can't capture a copy of the program's output but we can @@@@ -206,6 +215,11 @@@@ TRACKARTIST="$(echo $DTITLEARTIST | cut -f1 -d~)" TRACKNAME="$(echo $DTITLEARTIST | cut -f2 -d~)" ;; + trailing-paren) + DTITLEARTIST="$(echo $TRACKNAME | sed 's,^\(.*\) (\(.*\)),\1~\2,')" + TRACKARTIST="$(echo $DTITLEARTIST | cut -f2 -d~)" + TRACKNAME="$(echo $DTITLEARTIST | cut -f1 -d~)" + ;; esac else TRACKARTIST=$DARTIST @@@@ -221,7 +235,8 @@@@ { COMMENTOUTPUT="$(eval echo ${COMMENT})" run_command '' echo "Tagging track $1 of $TRACKS: $TRACKNAME..." - if [ "$OUTPUTTYPE" = "mp3" ]; then + case "$OUTPUTTYPE" in + mp3) # Amazingly, id3 and id3v2 have identical -a, -A, -c, -t, and -T switches # ...except id3v2's -c is completely broken (there's a bug in id3lib # v3.7.x keeping -c from being properly implemented) @@@@ -232,7 +247,8 @@@@ run_command tagtrack-$1 $TAGGER $TAGGEROPTS -c "$COMMENTOUTPUT" \ -A "$DALBUM" -a "$TRACKARTIST" -t "$TRACKNAME" -T "$1" "$ABCDETEMPDIR/track$1.$OUTPUTTYPE" fi - else + ;; + ogg) # vorbiscomment can't do in-place modification, mv the file first if [ -f "$ABCDETEMPDIR/track$1.$OUTPUTTYPE" -a ! -f "$ABCDETEMPDIR/track$1.uncommented.$OUTPUTTYPE" ]; then mv "$ABCDETEMPDIR/track$1.$OUTPUTTYPE" "$ABCDETEMPDIR/track$1.uncommented.$OUTPUTTYPE" @@@@ -254,7 +270,48 @@@@ else mv "$ABCDETEMPDIR/track$1.uncommented.$OUTPUTTYPE" "$ABCDETEMPDIR/track$1.$OUTPUTTYPE" fi - fi + ;; + flac) + run_command tagtrack-$1 true + ;; + esac +} + +# do_batch_encode +# variables used: +# OUTPUTTYPE, ENCODERSYNTAX, ENCNICE, ENCODER, ENCODEROPTS +do_batch_encode () +{ + # The commands here don't go through run_command because they're never supposed to be silenced + echo "Batch encoding tracks: $TRACKQUEUE" + case "$OUTPUTTYPE" in + mp3) + case "$ENCODERSYNTAX" in + lame) + ( + cd "$ABCDETEMPDIR" + TRACKFILES= + for UTRACKNUM in $TRACKQUEUE + do + TRACKFILES="$TRACKFILES track$UTRACKNUM.wav" + done + nice $ENCNICE $ENCODER $ENCODEROPTS --nogap $TRACKFILES + RETURN=$? + if [ "$RETURN" != "0" ]; then + echo "batch-encode: $ENCODER returned code $RETURN" >> errors + else + for UTRACKNUM in $TRACKQUEUE + do + echo encodetrack-$UTRACKNUM >> status + done + fi + ) + ;; + esac + ;; + esac + # Other encoders fall through to normal encoding as the tracks + # have not been entered in the status file. } # do_encode [tracknumber] [hostname] @@@@ -295,6 +352,11 @@@@ ;; esac ;; + flac) + case "$ENCODERSYNTAX" in + flac) run_command encodetrack-$1 nice $ENCNICE $ENCODER -TARTIST="$TRACKARTIST" -TALBUM="$DALBUM" -TTITLE="$TRACKNAME" -TTRACKNUMBER="$1" $ENCODEROPTS -o "$OUT" "$IN" ;; + esac + ;; esac # Only remove .wav if the encoding succeeded if checkerrors encodetrack-$1; then :; else @@@@ -302,6 +364,45 @@@@ fi } +# do_batch_normalize +# variables used: +# NORMALIZER, NORMALIZEROPTS +do_batch_normalize () +{ + # The commands here don't go through run_command because they're never supposed to be silenced + echo "Batch normalizing tracks: $TRACKQUEUE" + ( + cd "$ABCDETEMPDIR" + BLURB= + TRACKFILES= + for UTRACKNUM in $TRACKQUEUE + do + TRACKFILES="$TRACKFILES track$UTRACKNUM.wav" + done + # XXX: Hard-coded batch option! + $NORMALIZER -b $NORMALIZEROPTS $TRACKFILES + RETURN=$? + if [ "$RETURN" != "0" ]; then + echo "batch-normalize: $NORMALIZER returned code $RETURN" >> errors + else + for UTRACKNUM in $TRACKQUEUE + do + echo normalizetrack-$UTRACKNUM >> status + done + fi + ) +} + +# do_normalize [tracknumber] +# variables used: +# TRACKS, TRACKNAME, NORMALIZER, NORMALIZEROPTS +do_normalize () +{ + IN="$ABCDETEMPDIR/track$1.wav" + run_command '' echo "Normalizing track $1 of $TRACKS: $TRACKNAME..." + run_command normalizetrack-$1 $NORMALIZER $NORMALIZEROPTS "$IN" +} + # do_move [tracknumber] # Deduces the outfile from environment variables # Creates directory if necessary @@@@ -496,6 +597,7 @@@@ # following environment variables for them: DOCDDB=n DOREAD=n + DONORMALIZE=n DOENCODE=n DOTAG=n DOMOVE=n @@@@ -507,6 +609,7 @@@@ case $ACTION in cddb) DOCDDB=y;; read) DOREAD=y;; + normalize) DONORMALIZE=y; DOREAD=y;; encode) DOENCODE=y; DOREAD=y;; tag) DOTAG=y; DOREAD=y; DOENCODE=y; DOCDDB=y;; move) DOMOVE=y; DOTAG=y; DOREAD=y; DOENCODE=y; DOCDDB=y;; @@@@ -574,7 +677,7 @@@@ fi # List out disc title/author and contents echo ---- "$(cut '-d ' -f4- "$ABCDETEMPDIR/cddbquery")" ---- >> "$ABCDETEMPDIR/cddbchoices" - for TRACK in $(seq 1 $TRACKS) + for TRACK in $(jot $TRACKS) do echo $TRACK: "$(grep ^TTITLE$(expr $TRACK - 1)= "$ABCDETEMPDIR/cddbread.1" | cut -f2- -d= | tr -d \\r\\n)" >> "$ABCDETEMPDIR/cddbchoices" done @@@@ -590,7 +693,7 @@@@ $CDDBTOOL template $(cat "$ABCDETEMPDIR/discid") > "$ABCDETEMPDIR/cddbread.1" # List out disc title/author and contents of template echo ---- Unknown Artist / Unknown Album ---- >> "$ABCDETEMPDIR/cddbchoices" - for TRACK in $(seq 1 $TRACKS) + for TRACK in $(jot $TRACKS) do echo $TRACK: "$(grep ^TTITLE$(expr $TRACK - 1)= "$ABCDETEMPDIR/cddbread.1" | cut -f2- -d= | tr -d \\r\\n)" >> "$ABCDETEMPDIR/cddbchoices" done @@@@ -620,7 +723,7 @@@@ fi # List out disc title/author and contents echo \#$X: ---- "$DISCINFO" ---- >> "$ABCDETEMPDIR/cddbchoices" - for TRACK in $(seq 1 $TRACKS) + for TRACK in $(jot $TRACKS) do echo $TRACK: "$(grep ^TTITLE$(expr $TRACK - 1)= "$ABCDETEMPDIR/cddbread.$X" | cut -f2- -d= | tr -d \\r\\n)" >> "$ABCDETEMPDIR/cddbchoices" done @@@@ -766,6 +869,9 @@@@ elif [ "$(grep -c "^TTITLE.*\-" "$CDDBDATA")" -gt "$(expr $NUMTRACKS / 2 )" ]; then # More than 1/2 contain a "-", so guess forward-dash DEFAULTSTYLE=2 + elif [ "$(grep -c "^TTITLE.*(.*)" "$CDDBDATA")" -gt "$(expr $NUMTRACKS / 2 )" ]; then + # More than 1/2 contain something in parens, so guess trailing-paren + DEFAULTSTYLE=6 fi echo "1) Artist / Title" >&2 @@@@ -773,21 +879,22 @@@@ echo "3) Title / Artist" >&2 echo "4) Title - Artist" >&2 echo "5) Artist: Title" >&2 - echo "6) This is a single-artist CD" >&2 - echo -n "Which style of multiple artist entries is it? [1-6] ($DEFAULTSTYLE): " >&2 + echo "6) Title (Artist)" >&2 + echo "7) This is a single-artist CD" >&2 + echo -n "Which style of multiple artist entries is it? [1-7] ($DEFAULTSTYLE): " >&2 if [ "$INTERACTIVE" = "y" ]; then read VARIOUSARTISTSTYLE else echo $DEFAULTSTYLE >&2 VARIOUSARTISTSTYLE=$DEFAULTSTYLE fi - VARIOUSARTISTSTYLE=$(echo $VARIOUSARTISTSTYLE | xargs printf %d) + VARIOUSARTISTSTYLE=$(echo 0$VARIOUSARTISTSTYLE | xargs printf %d) # If they press Enter, then the default style (0) was chosen - while [ $VARIOUSARTISTSTYLE -lt 0 ] || [ $VARIOUSARTISTSTYLE -gt 6 ]; do - echo "Invalid selection. Please choose a number between 1 and 6." - echo -n "Selection [1-6]: " + while [ $VARIOUSARTISTSTYLE -lt 0 ] || [ $VARIOUSARTISTSTYLE -gt 7 ]; do + echo "Invalid selection. Please choose a number between 1 and 7." + echo -n "Selection [1-7]: " read VARIOUSARTISTSTYLE - VARIOUSARTISTSTYLE=$(echo $VARIOUSARTISTSTYLE | xargs printf %d) + VARIOUSARTISTSTYLE=$(echo 0$VARIOUSARTISTSTYLE | xargs printf %d) done if [ "$VARIOUSARTISTSTYLE" = "0" ]; then VARIOUSARTISTSTYLE=$DEFAULTSTYLE @@@@ -809,7 +916,10 @@@@ 5) # Artist: Title VARIOUSARTISTSTYLE=colon ;; - 6) # Single Artist + 6) # Title (Artist) + VARIOUSARTISTSTYLE=trailing-paren + ;; + 7) # Single Artist VARIOUSARTISTS=n ;; esac @@@@ -899,6 +1009,7 @@@@ READNICE=10 VARIOUSARTISTS=n VARIOUSARTISTSTYLE=forward +NORMALIZERSYNTAX=default # program paths - defaults to checking your $PATH LAME=lame @@@@ -909,6 +1020,7 @@@@ MP3ENC=mp3enc VORBIZE=vorbize OGGENC=oggenc +FLAC=flac ID3=id3 ID3V2=id3v2 CDPARANOIA=cdparanoia @@@@ -919,6 +1031,7 @@@@ EJECT=eject DISTMP3=distmp3 VORBISCOMMENT=vorbiscomment +NORMALIZE=normalize # Options for programs called from abcde LAMEOPTS= @@@@ -929,14 +1042,15 @@@@ MP3ENCOPTS= VORBIZEOPTS= OGGENCOPTS= +FLACOPTS= ID3OPTS= ID3V2OPTS= -CDPARANOIAOPTS= CDDA2WAVOPTS= WGETOPTS= CDDBTOOLOPTS= EJECTOPTS= DISTMP3OPTS= +NORMALIZEOPTS= # Default to one process if -j isn't specified MAXPROCS=1 @@@@ -948,7 +1062,7 @@@@ # Custom filename munging: mungefilename () { - echo "$@@" | sed s,:,\ -,g | tr \ / __ | tr -d \'\"\?\[:cntrl:\] + echo "$@@" | sed s,:,\ -,g | tr / _ | tr -d \`\'\"\?\[:cntrl:\] } # If CDDBAVAIL is set to n, no CDDB read is done @@@@ -964,17 +1078,13 @@@@ WAVOUTPUTDIR="$OUTPUTDIR" a7 11 -# If this is a devfs system, default to /dev/cdroms/cdrom0 -# instead of /dev/cdrom -if [ -e /dev/cdroms/cdrom0 ]; then - CDROM=/dev/cdroms/cdrom0 -else - CDROM=/dev/cdrom -fi +RAWPART=`sysctl -n kern.rawpartition | awk '{printf "%c",97+$0}'` +CDROM=/dev/rcd0$RAWPART +CDPARANOIAOPTS="-g ${CDROM}" d11 2 a12 2 +if [ -r @@PKG_SYSCONFDIR@@/abcde.conf ]; then + . @@PKG_SYSCONFDIR@@/abcde.conf d16 3 a18 15 @@@@ -982,9 +1092,10 @@@@ fi # Parse command line options -while getopts a:c:C:d:Dhj:lnNo:r:x opt ; do +while getopts a:bc:C:d:Dhj:lnNo:r:x opt ; do case "$opt" in a) ACTIONS="$OPTARG" ;; + b) BATCH=y ;; c) . "$OPTARG" ;; C) DISCID="$OPTARG" ;; d) CDROM="$OPTARG" ;; @@@@ -1010,7 +1121,7 @@@@ if [ "$RSTART" = "$REND" ]; then NEWTRACKS="$RSTART" d20 5 a24 30 - NEWTRACKS=$(seq -s ' ' $RSTART $REND) + NEWTRACKS=$(jot -s ' ' $(($REND - $RSTART + 1)) $RSTART $REND) fi TRACKQUEUE=$(echo "$TRACKQUEUE" "$NEWTRACKS") @@@@ -1029,12 +1140,25 @@@@ ;; esac -# If nothing has been specified, use oggenc for oggs and lame for mp3s +# There's only one normalize... +case "$NORMALIZERSYNTAX" in + default|normalize) + NORMALIZER="$NORMALIZE" + NORMALIZEROPTS="$NORMALIZEOPTS" + ;; +esac + +# If nothing has been specified, use oggenc for oggs and lame for mp3s and flac +# for flacs if [ "$ENCODERSYNTAX" = "default" ]; then if [ "$OUTPUTTYPE" = "ogg" ]; then ENCODERSYNTAX=oggenc - else + elif [ "$OUTPUTTYPE" = "mp3" ]; then ENCODERSYNTAX=lame + elif [ "$OUTPUTTYPE" = "flac" ]; then + ENCODERSYNTAX=flac + else + echo "abcde error: Invalid OUTPUTTYPE defined" >&2 d27 1 a27 131 @@@@ -1072,6 +1196,11 @@@@ ENCODEROPTS="$OGGENCOPTS" ENCODER="$OGGENC" ;; + flac) + ENCODEROPTS="$FLACOPTS" + ENCODER="$FLAC" + ;; + esac # and which tagger @@@@ -1098,10 +1227,13 @@@@ if [ "$REMOTEHOSTS" ]; then NEEDDISTMP3=y; fi if [ "$OUTPUTTYPE" = "mp3" ]; then NEEDTAGGER=y; fi if [ "$OUTPUTTYPE" = "ogg" ]; then NEEDCOMMENTER=y; fi +if [ "$DONORMALIZE" = "y" ]; then NEEDNORMALIZER=y; fi + # Make sure a buncha things exist for X in $CDROMREADER $CDDISCID ${NEEDTAGGER+$TAGGER} $ENCODER $WGET \ - ${NEEDDISTMP3+$DISTMP3} ${NEEDCOMMENTER+$VORBISCOMMENT} seq + ${NEEDDISTMP3+$DISTMP3} ${NEEDCOMMENTER+$VORBISCOMMENT} \ + ${NEEDNORMALIZER+$NORMALIZER} jot do # Cut off the command-line options we just added in X=$(echo $X | cut -d' ' -f2) @@@@ -1119,7 +1251,7 @@@@ # One thousand lines in, we can start doing stuff with things -# List of valid actions: cddb,playlist,read,encode,tag,move +# List of valid actions: cddb,playlist,read,normalize,encode,tag,move do_discid # Get ABCDETEMPDIR created and status file initialized @@@@ -1161,16 +1293,20 @@@@ fi fi fi - echo NEXTTRACK # Get the encoder machine churning again - if [ "$DOREAD" = "y" ]; then - if [ "$LOWDISK" = "y" ] && [ "$DOENCODE" = "y" ]; then - until checkstatus encodetrack-$UTRACKNUM - do - if checkerrors encodetrack-$UTRACKNUM; then - break - fi - sleep 2 - done + if [ "$BATCH" = "y" ]; then + : + else + echo NEXTTRACK # Get the encoder machine churning again + if [ "$DOREAD" = "y" ]; then + if [ "$LOWDISK" = "y" ] && [ "$DOENCODE" = "y" ]; then + until checkstatus encodetrack-$UTRACKNUM + do + if checkerrors encodetrack-$UTRACKNUM; then + break + fi + sleep 2 + done + fi fi fi done @@@@ -1181,17 +1317,39 @@@@ echo "encode-output=loud" >> "$ABCDETEMPDIR/status" fi +# All tracks read, start encoding. +if [ "$BATCH" = "y" ]; then + echo NEXTTRACK +fi + # We are now finished with the cdrom - it can be safely ejected. Note that # abcde will not have completed yet. if [ "$EJECTCD" = "y" ]; then $EJECT $EJECTOPTS $CDROM fi ) | ( +# In batch mode, we want all tracks to be read first. +if [ "$BATCH" = "y" ]; then + read GOAHEAD # For blocking - will contain either "NO" or "NEXTTRACK" + if [ "$GOAHEAD" = "NO" ]; then break; fi + for LASTTRACK in $TRACKQUEUE; do :; done + if checkstatus readtrack-$LASTTRACK; then + if [ "$DONORMALIZE" = "y" ]; then + if checkstatus normalizetrack-$LASTTRACK; then :; else do_batch_normalize; fi + if checkerrors batch-normalize; then exit; fi + fi + if [ "$DOENCODE" = "y" ]; then + if checkstatus encodetrack-$LASTTRACK; then :; else do_batch_encode; fi + if checkerrors batch-encode; then exit; fi + fi + fi +fi + # Do the encoding, including parallelization of remote encoding # Figure out where each track is going to be encoded ENCODELOCATIONS="$(echo $REMOTEHOSTS | tr , ' ')" if [ "$MAXPROCS" != "0" ]; then - for NUM in $(seq 1 "$MAXPROCS") + for NUM in $(jot "$MAXPROCS") do ENCODELOCATIONS="$ENCODELOCATIONS %local$NUM%" done @@@@ -1253,9 +1411,20 @@@@ # You can't tag a file before it's finished encoding - # thus all of this is backgrounded together ( + if [ "$DONORMALIZE" = "y" ]; then + if checkstatus readtrack-$UTRACKNUM; then + if checkstatus normalizetrack-$UTRACKNUM; then :; else do_normalize $UTRACKNUM; fi + fi + fi if [ "$DOENCODE" = "y" ]; then if checkstatus readtrack-$UTRACKNUM; then - if checkstatus encodetrack-$UTRACKNUM; then :; else do_encode $UTRACKNUM $LOCATION; fi + if [ "$DONORMALIZE" = "y" ]; then + if checkstatus normalizetrack-$UTRACKNUM; then + if checkstatus encodetrack-$UTRACKNUM; then :; else do_encode $UTRACKNUM $LOCATION; fi + fi + else + if checkstatus encodetrack-$UTRACKNUM; then :; else do_encode $UTRACKNUM $LOCATION; fi + fi fi fi if [ "$DOTAG" = "y" ]; then @ 1.9 log @Add support for encoding to FLAC. Initially based on http://www.bagu.dhs.org/abcde-2.0.3-flac-patch but with some serious improvements by me (including documentation updates, and in-line addition of vorbis comments with flac -T ...). Bump PKGREVISION. @ text @d3 13 a15 3 --- abcde.orig Mon Jan 28 16:44:02 2002 +++ abcde @@@@ -27,7 +27,7 @@@@ echo "-j Number of encoder processes d24 16 a39 1 @@@@ -206,6 +206,11 @@@@ splitvarious () d51 1 a51 1 @@@@ -221,7 +226,8 @@@@ do_tag () d61 1 a61 1 @@@@ -232,7 +238,8 @@@@ do_tag () d71 1 a71 1 @@@@ -254,7 +261,11 @@@@ do_tag () d81 37 d121 1 a121 1 @@@@ -295,6 +306,11 @@@@ do_encode () d133 63 a195 1 @@@@ -574,7 +590,7 @@@@ do_cddbread () d204 1 a204 1 @@@@ -590,7 +606,7 @@@@ do_cddbread () d213 1 a213 1 @@@@ -620,7 +636,7 @@@@ do_cddbread () d222 1 a222 1 @@@@ -766,6 +782,9 @@@@ do_cddbedit () d232 1 a232 1 @@@@ -773,21 +792,22 @@@@ do_cddbedit () d262 1 a262 1 @@@@ -809,7 +829,10 @@@@ do_cddbedit () d274 9 a282 1 @@@@ -909,6 +932,7 @@@@ XINGMP3ENC=xingmp3enc d290 9 a298 1 @@@@ -929,9 +953,9 @@@@ XINGMP3ENCOPTS= d309 7 a315 1 @@@@ -948,7 +972,7 @@@@ ACTIONS=cddb,read,encode,tag,move,clean d324 1 a324 1 @@@@ -964,17 +988,13 @@@@ if [ -z "$WAVOUTPUTDIR" ]; then d347 13 a359 1 @@@@ -1010,7 +1030,7 @@@@ while [ $# -gt 0 ]; do d368 1 a368 1 @@@@ -1029,13 +1049,18 @@@@ case "$CDROMREADERSYNTAX" in d373 8 a388 1 - fi d390 4 a393 4 + ENCODERSYNTAX=flac + else + echo "abcde error: Invalid OUTPUTTYPE defined" >&2 + fi d396 1 a396 2 # decide which encoder @@@@ -1072,6 +1097,11 @@@@ case "$ENCODERSYNTAX" in d408 2 a409 1 @@@@ -1099,9 +1129,10 @@@@ if [ "$REMOTEHOSTS" ]; then NEEDDISTMP3= d412 2 a414 1 + d418 2 a419 1 + ${NEEDDISTMP3+$DISTMP3} ${NEEDCOMMENTER+$VORBISCOMMENT} jot d423 73 a495 1 @@@@ -1191,7 +1222,7 @@@@ fi d504 22 @ 1.8 log @Should have used PKG_SYSCONFDIR instead of PKG_SYSCONFBASE. @ text @d3 12 a14 3 --- abcde.orig Mon Jan 28 00:44:02 2002 +++ abcde Thu Nov 28 21:55:10 2002 @@@@ -206,6 +206,11 @@@@ d26 46 a71 1 @@@@ -574,7 +579,7 @@@@ d80 1 a80 1 @@@@ -590,7 +595,7 @@@@ d89 1 a89 1 @@@@ -620,7 +625,7 @@@@ d98 1 a98 1 @@@@ -766,6 +771,9 @@@@ d108 1 a108 1 @@@@ -773,21 +781,22 @@@@ d138 1 a138 1 @@@@ -809,7 +818,10 @@@@ d150 11 a160 1 @@@@ -931,7 +943,6 @@@@ d162 1 d169 1 a169 1 @@@@ -948,7 +959,7 @@@@ d178 1 a178 1 @@@@ -964,17 +975,13 @@@@ d201 1 a201 1 @@@@ -1010,7 +1017,7 @@@@ d210 37 a246 1 @@@@ -1101,7 +1108,7 @@@@ d248 1 d256 1 a256 1 @@@@ -1191,7 +1198,7 @@@@ @ 1.7 log @Preserve pkgsrc and distribution defaults better: - use ${PKG_SYSCONFBASE} instead of hardcoded /usr/pkg/etc - keep the ID3v2 default as distributed, and depend on audio/id3v2 - don't depend on vorbis-tools: just inform the user about the need to install at least one of the supported encoders - sample config only has commented out entries, so install it only in the examples directory @ text @d4 1 a4 1 +++ abcde Thu Nov 28 20:57:50 2002 d131 2 a132 2 +if [ -r @@PKG_SYSCONFBASE@@/abcde.conf ]; then + . @@PKG_SYSCONFBASE@@/abcde.conf @ 1.6 log @Update abcde to 2.0.3. Changes: abcde 2.0.3 * The Fixed-Yet?-How-About-Now?-What-About-Now?-Now? Release * SMP fixed, mad props to Steve Madsen, closes: #69828, #111806 * Minor code cleanups thanks to Adam Heath * Multiple inexact match results are generated in a safe manner thanks to Nick Martin, closes: #126025 * Removed cddb-tool template generation bashism, thanks to Greg Norris, closes: #126327 * Windows can't handle double quotes in filenames either. The default mungefilename now removes them, closes: #127643 * Using -C with WAVOUTPUTDIR fixed, closes: #127728 * Resuming various artists discs fixed, closes: #127731 -- Robert Woodcock Sun, 27 Jan 2002 abcde 2.0.2 * The One-More-Time-With-Feeling Release * Bladeenc really works this time. Honest. closes: #121988 -- Robert Woodcock Mon, 3 Dec 2001 abcde 2.0.1 * The I-Don't-Listen-To-Sssca Release * Example abcde.conf fixes, closes: #111580 * So much for bladeenc's l3enc compatibility, closes: #110863 * CDDB submit fixes (to enable CDDB submitting, put UNINTENTIONALLY_ANGER_THE_FREEDB_PEOPLE=y in your abcde.conf), closes: #111478, #111500 * Minor mungefilename() cleanup * Small manpage fix * Works with oggenc when POSIXLY_CORRECT is defined, thanks to Juhapekka Tolvanen * Quote remote locations when calling distmp3 * Allow remote encoding of oggs * Only remove wav files if the encoding succeeded * No-local-encoding via -j 0 fixed, thanks to Hans-Joachim Baader * CD read errors are trapped/resumed cleanly now thanks to Pete, closes: #111618 * devfs device check fix, thanks to Clint Adams * Check for seq command - some BSD's have jot instead and abcde can't use that yet * Various Artists playlist generation fixed, thanks to William Lash -- Robert Woodcock Tue, 6 Nov 2001 @ text @d3 2 a4 2 --- abcde.orig Mon Jan 28 06:44:02 2002 +++ abcde a95 9 @@@@ -894,7 +906,7 @@@@ PLAYLISTFORMAT='${ARTISTFILE}_-_${ALBUMFILE}.m3u' PLAYLISTDATAPREFIX='' COMMENT='' -ID3TAGV=2 +ID3TAGV=1 ENCNICE=10 READNICE=10 VARIOUSARTISTS=n d131 2 a132 2 +if [ -r /usr/pkg/etc/abcde.conf ]; then + . /usr/pkg/etc/abcde.conf @ 1.5 log @Add the missing quotes so it can handle filenames with spaces. Don't delete spaces from filenames by default anymore (user overridable). @ text @d1 1 a1 1 $NetBSD: patch-ac,v 1.4 2002/01/16 05:37:51 lukem Exp $ d3 3 a5 3 --- abcde.orig Wed Aug 15 23:39:29 2001 +++ abcde Wed Mar 6 10:47:22 2002 @@@@ -199,6 +199,11 @@@@ d17 1 a17 10 @@@@ -268,7 +273,7 @@@@ mp3enc) run_command encodetrack-$1 nice $ENCNICE $ENCODER -if "$IN" -of "$OUT" $ENCODEROPTS ;; esac else - run_command encodetrack-$1 $DISTMP3 $DISTMP3OPTS $2 "$IN" "$OUT" >/dev/null 2>&1 + run_command encodetrack-$1 $DISTMP3 $DISTMP3OPTS "$2" "$IN" "$OUT" >/dev/null 2>&1 fi ;; ogg) @@@@ -552,7 +557,7 @@@@ d20 1 a20 1 echo ---- $(cut '-d ' -f4- "$ABCDETEMPDIR/cddbquery") ---- >> "$ABCDETEMPDIR/cddbchoices" d24 1 a24 1 echo $TRACK: $(grep ^TTITLE$(expr $TRACK - 1)= "$ABCDETEMPDIR/cddbread.1" | cut -f2- -d= | tr -d \\r\\n) >> "$ABCDETEMPDIR/cddbchoices" d26 1 a26 1 @@@@ -568,7 +573,7 @@@@ d33 1 a33 1 echo $TRACK: $(grep ^TTITLE$(expr $TRACK - 1)= "$ABCDETEMPDIR/cddbread.1" | cut -f2- -d= | tr -d \\r\\n) >> "$ABCDETEMPDIR/cddbchoices" d35 1 a35 1 @@@@ -598,7 +603,7 @@@@ d42 1 a42 1 echo $TRACK: $(grep ^TTITLE$(expr $TRACK - 1)= $ABCDETEMPDIR/cddbread.$X | cut -f2- -d= | tr -d \\r\\n) >> "$ABCDETEMPDIR/cddbchoices" d44 1 a44 1 @@@@ -742,6 +747,9 @@@@ d54 1 a54 1 @@@@ -749,23 +757,24 @@@@ a77 2 d84 1 a84 1 @@@@ -787,7 +796,10 @@@@ d96 1 a96 1 @@@@ -856,7 +868,7 @@@@ d105 9 a113 1 @@@@ -910,7 +922,7 @@@@ d117 2 a118 2 - echo "$@@" | sed s,:,\ -,g | tr \ / __ | tr -d \'\? | tr -d \[:cntrl:\] + echo "$@@" | sed s,:,\ -,g | tr / _ | tr -d \`\'\"\? | tr -d \[:cntrl:\] d122 1 a122 1 @@@@ -926,17 +938,12 @@@@ d128 1 a128 1 -if [ -f /dev/cdroms/cdrom0 ]; then d135 1 d145 1 a145 1 @@@@ -972,7 +979,7 @@@@ d154 6 a159 6 @@@@ -1145,7 +1152,7 @@@@ do ENCODELOCATIONS="$ENCODELOCATIONS $REMOTEHOST" done -for NUM in $(seq 1 "$MAXPROCS") +for NUM in $(jot "$MAXPROCS") d161 11 a171 2 ENCODELOCATIONS="$ENCODELOCATIONS %local%" done @ 1.4 log @Add "Title (Artist)" as a name format choice for multi-artist CDs. Patch from Allen Briggs. @ text @d1 1 a1 1 $NetBSD$ d3 2 a4 2 --- abcde.orig Thu Aug 16 07:39:29 2001 +++ abcde d17 9 d116 9 @ 1.3 log @Use the id3 package to tag the resulting files. @ text @d1 1 a1 1 $NetBSD: patch-ac,v 1.2 2001/10/03 21:58:28 abs Exp $ d3 15 a17 3 --- abcde.orig Wed Aug 15 22:39:29 2001 +++ abcde Fri Oct 12 10:47:00 2001 @@@@ -552,7 +552,7 @@@@ d26 1 a26 1 @@@@ -568,7 +568,7 @@@@ d35 1 a35 1 @@@@ -598,7 +598,7 @@@@ d44 22 a65 1 @@@@ -757,7 +757,7 @@@@ d72 6 a77 3 while [ $VARIOUSARTISTSTYLE -lt 0 ] || [ $VARIOUSARTISTSTYLE -gt 6 ]; do echo "Invalid selection. Please choose a number between 1 and 6." @@@@ -765,7 +765,7 @@@@ d86 13 a98 1 @@@@ -856,7 +856,7 @@@@ d107 1 a107 1 @@@@ -926,17 +926,12 @@@@ d129 1 a129 1 @@@@ -972,7 +967,7 @@@@ d138 1 a138 1 @@@@ -1145,7 +1140,7 @@@@ @ 1.2 log @The first raw cd device is _not_ rcd0d. Use sysctl kern.rawpartition. @ text @d1 1 a1 1 $NetBSD$ d4 1 a4 1 +++ abcde d50 9 @ 1.1 log @Initial revision @ text @d3 87 a89 20 --- abcde.1.orig Thu Aug 16 08:12:25 2001 +++ abcde.1 Thu Aug 16 15:55:04 2001 @@@@ -42,7 +42,7 @@@@ .TP .B \-c [filename] Specifies an additional configuration file to parse. Configuration options -in this file override those in /etc/abcde.conf or $HOME/.abcde.conf. +in this file override those in @@ETCDIR@@/abcde.conf or $HOME/.abcde.conf. .TP .B \-C [discid] Allows you to resume a session for @@@@ -91,7 +91,7 @@@@ '.mp3'. This can be modified using the OUTPUTFORMAT and VAOUTPUTFORMAT variables in your abcde.conf. .SH CONFIGURATION -abcde sources two configuration files on startup - /etc/abcde.conf and +abcde sources two configuration files on startup - @@ETCDIR@@/abcde.conf and $HOME/.abcde.conf, in that order. Here is a list of options abcde recognizes: .TP .B CDDBURL @ 1.1.1.1 log @abcde - Command-line utility to rip and encode an audio CD @ text @@