Add support for cd ripper pird.
authorandrew@andrews-corner.org <andrew@andrews-corner.org@a0fa61bc-5347-0410-a1a9-7f54aa4e1825>
Fri, 26 Apr 2013 11:34:48 +0000 (11:34 +0000)
committerandrew@andrews-corner.org <andrew@andrews-corner.org@a0fa61bc-5347-0410-a1a9-7f54aa4e1825>
Fri, 26 Apr 2013 11:34:48 +0000 (11:34 +0000)
Thanks to karsten for the patch.
Closes issue 92.

git-svn-id: http://abcde.googlecode.com/svn/trunk@381 a0fa61bc-5347-0410-a1a9-7f54aa4e1825

abcde
abcde.1
abcde.conf

diff --git a/abcde b/abcde
index 6b07ddd..d5198ab 100755 (executable)
--- a/abcde
+++ b/abcde
@@ -2952,6 +2952,7 @@ do_cdread ()
                                # Add a variable to check if tracks are provided in command line and if not, use "0-" to rip the tracks
                                READTRACKNUMS="$FIRSTTRACK-$LASTTRACK" ;;
                        cdda2wav | icedax) READTRACKNUMS="$FIRSTTRACK+$LASTTRACK" ;;
                                # Add a variable to check if tracks are provided in command line and if not, use "0-" to rip the tracks
                                READTRACKNUMS="$FIRSTTRACK-$LASTTRACK" ;;
                        cdda2wav | icedax) READTRACKNUMS="$FIRSTTRACK+$LASTTRACK" ;;
+                       pird) READTRACKNUMS="$FIRSTTRACK..$LASTTRACK" ;;
                        *) echo "abcde error: $CDROMREADERSYNTAX does not support ONETRACK mode"
                                exit 1 ;;
                esac
                        *) echo "abcde error: $CDROMREADERSYNTAX does not support ONETRACK mode"
                                exit 1 ;;
                esac
@@ -3032,6 +3033,12 @@ do_cdread ()
                        else
                                nice $READNICE $CDROMREADER -d "$CDROM" -v $UTRACKNUM "$FILEARG"
                        fi ;;
                        else
                                nice $READNICE $CDROMREADER -d "$CDROM" -v $UTRACKNUM "$FILEARG"
                        fi ;;
+               pird)
+                       if [ "$REDIR" = "y" ]; then
+                               nice $READNICE $CDROMREADER -j ${READTRACKNUMS:-$UTRACKNUM} "$CDROM" "$FILEARG"
+                       else
+                               nice $READNICE $CDROMREADER -j ${READTRACKNUMS:-$UTRACKNUM} "$CDROM" "$PIPERIPPER_pird" > "$FILEARG"
+                       fi ;;
                cddafs)
                        # Find the track's mounted path
                        REALTRACKNUM=$(expr $UTRACKNUM + 0)
                cddafs)
                        # Find the track's mounted path
                        REALTRACKNUM=$(expr $UTRACKNUM + 0)
@@ -3271,6 +3278,7 @@ CDPARANOIA=cdparanoia
 CDDA2WAV=icedax
 DAGRAB=dagrab
 CDDAFS=cp
 CDDA2WAV=icedax
 DAGRAB=dagrab
 CDDAFS=cp
+PIRD=pird
 CDDISCID=cd-discid
 CDDBTOOL=cddb-tool
 MUSICBRAINZ=abcde-musicbrainz-tool
 CDDISCID=cd-discid
 CDDBTOOL=cddb-tool
 MUSICBRAINZ=abcde-musicbrainz-tool
@@ -3345,7 +3353,7 @@ ACTIONS=cddb,read,encode,tag,move,clean
 DEFAULT_OUTPUT_BINARIES=vorbis:oggenc,flac:flac,mp3:toolame,mp3:lame,mp3:bladeenc,spx:speex,m4a:faac:opus
 
 # List of preferred cdromreaders - by default, run whichever we have in the path
 DEFAULT_OUTPUT_BINARIES=vorbis:oggenc,flac:flac,mp3:toolame,mp3:lame,mp3:bladeenc,spx:speex,m4a:faac:opus
 
 # List of preferred cdromreaders - by default, run whichever we have in the path
-DEFAULT_CDROMREADERS="cdparanoia icedax cdda2wav"
+DEFAULT_CDROMREADERS="cdparanoia icedax cdda2wav pird"
 
 # List of quality levels associated with the encoders:
 DEFAULT_QUALITY_XLO="oggenc:-q -1,lame:-q 9,speex:--quality 1,m4a:"
 
 # List of quality levels associated with the encoders:
 DEFAULT_QUALITY_XLO="oggenc:-q -1,lame:-q 9,speex:--quality 1,m4a:"
@@ -3572,6 +3580,7 @@ if [ "$ONETRACK" = "y" ]; then
                flac) ;;
                cdparanoia) ;;
                cdda2wav | icedax) ;;
                flac) ;;
                cdparanoia) ;;
                cdda2wav | icedax) ;;
+               pird) ;;
                *) log error "$CDROMREADERSYNTAX does not support ONETRACK mode"
                        exit 1 ;;
        esac
                *) log error "$CDROMREADERSYNTAX does not support ONETRACK mode"
                        exit 1 ;;
        esac
@@ -3766,6 +3775,10 @@ case "$CDROMREADERSYNTAX" in
                CDROMREADER="$DAGRAB"
                CDROMREADEROPTS="$DAGRABOPTS"
                ;;
                CDROMREADER="$DAGRAB"
                CDROMREADEROPTS="$DAGRABOPTS"
                ;;
+       pird)
+               CDROMREADER="$PIRD"
+               CDROMREADEROPTS="$PIRDOPTS"
+               ;;
        cddafs)
                CDROMREADER="$CDDAFS"
                CDROMREADEROPTS="$CDDAFSOPTS"
        cddafs)
                CDROMREADER="$CDDAFS"
                CDROMREADEROPTS="$CDDAFSOPTS"
@@ -4016,6 +4029,7 @@ fi
 if [ X"$CDSPEEDVALUE" != "X" ] && [ "$DOREAD" = "y" ]; then
        case "$CDROMREADERSYNTAX" in
                cdparanoia|debug) CDROMREADEROPTS="$CDPARANOIAOPTS -S $CDSPEEDVALUE" ;;
 if [ X"$CDSPEEDVALUE" != "X" ] && [ "$DOREAD" = "y" ]; then
        case "$CDROMREADERSYNTAX" in
                cdparanoia|debug) CDROMREADEROPTS="$CDPARANOIAOPTS -S $CDSPEEDVALUE" ;;
+               pird) CDROMREADEROPTS="$PIRDOPTS -s $CDSPEEDVALUE" ;;
                ### FIXME ### translate "cue2discid" from python to bash
                flac) NEEDMETAFLAC=y ; NEEDCUE2DISCID=y ; CDSPEEDVALUE="" ;;
                *) NEEDCDSPEED=y ;;
                ### FIXME ### translate "cue2discid" from python to bash
                flac) NEEDMETAFLAC=y ; NEEDCUE2DISCID=y ; CDSPEEDVALUE="" ;;
                *) NEEDCDSPEED=y ;;
@@ -4029,6 +4043,7 @@ fi
 PIPERIPPER_cdparanoia="-"
 PIPERIPPER_debug="-"
 PIPERIPPER_flac="-c "
 PIPERIPPER_cdparanoia="-"
 PIPERIPPER_debug="-"
 PIPERIPPER_flac="-c "
+PIPERIPPER_pird="-"
 
 # Encoders with USEPIPE support
 # FIXME # Include here all the encoders we can figure out support pipes
 
 # Encoders with USEPIPE support
 # FIXME # Include here all the encoders we can figure out support pipes
@@ -4181,6 +4196,7 @@ fi
 if [ X"$CDSPEEDVALUE" != "X" ]; then
        case "$CDROMREADERSYNTAX" in
                cdparanoia|debug) ;;
 if [ X"$CDSPEEDVALUE" != "X" ]; then
        case "$CDROMREADERSYNTAX" in
                cdparanoia|debug) ;;
+               pird) ;;
                flac) ;;
                *) do_cdspeed ;;
        esac
                flac) ;;
                *) do_cdspeed ;;
        esac
diff --git a/abcde.1 b/abcde.1
index a7679a7..522254b 100644 (file)
--- a/abcde.1
+++ b/abcde.1
@@ -362,7 +362,7 @@ with \fBdistmp3\fR (DISTMP3NICE).
 The following configuration file options specify the pathnames of their
 respective utilities: LAME, TOOLAME, GOGO, BLADEENC, L3ENC, XINGMP3ENC, MP3ENC,
 VORBIZE, OGGENC, FLAC, SPEEXENC, MPCENC, AACENC, OPUSENC, ID3, EYED3, METAFLAC,
 The following configuration file options specify the pathnames of their
 respective utilities: LAME, TOOLAME, GOGO, BLADEENC, L3ENC, XINGMP3ENC, MP3ENC,
 VORBIZE, OGGENC, FLAC, SPEEXENC, MPCENC, AACENC, OPUSENC, ID3, EYED3, METAFLAC,
-CDPARANOIA, CDDA2WAV, CDDAFS, CDDISCID, CDDBTOOL, EJECT, MD5SUM, DISTMP3,
+CDPARANOIA, CDDA2WAV, PIRD, CDDAFS, CDDISCID, CDDBTOOL, EJECT, MD5SUM, DISTMP3,
 VORBISCOMMENT, NORMALIZE, CDSPEED, MP3GAIN, VORBISGAIN, MPPGAIN, MKCUE, MKTOC,
 CUE2DISCID (see option "\-X"), DIFF and HTTPGET.
 .TP
 VORBISCOMMENT, NORMALIZE, CDSPEED, MP3GAIN, VORBISGAIN, MPPGAIN, MKCUE, MKTOC,
 CUE2DISCID (see option "\-X"), DIFF and HTTPGET.
 .TP
@@ -371,9 +371,9 @@ If you wish to specify command-line options to any of the programs \fBabcde\fR u
 set the following configuration file options: LAMEOPTS, TOOLAMEOPTS, GOGOOPTS,
 BLADEENCOPTS, L3ENCOPTS, XINGMP3ENCOPTS, MP3ENCOPTS, VORBIZEOPTS, OGGENCOPTS,
 FLACOPTS, SPEEXENCOPTS, MPCENCOPTS, AACENCOPTS, OPUSENCOPTS, ID3OPTS, EYED3OPTS, 
 set the following configuration file options: LAMEOPTS, TOOLAMEOPTS, GOGOOPTS,
 BLADEENCOPTS, L3ENCOPTS, XINGMP3ENCOPTS, MP3ENCOPTS, VORBIZEOPTS, OGGENCOPTS,
 FLACOPTS, SPEEXENCOPTS, MPCENCOPTS, AACENCOPTS, OPUSENCOPTS, ID3OPTS, EYED3OPTS, 
-MP3GAINOPTS, CDPARANOIAOPTS, CDDA2WAVOPTS, CDDAFSOPTS, CDDBTOOLOPTS, EJECTOPTS, 
-DISTMP3OPTS, NORMALIZEOPTS, CDSPEEDOPTS, MKCUEOPTS, VORBISCOMMMENTOPTS, METAFLACOPTS,
-DIFFOPTS, FLACGAINOPTS, VORBISGAINOPTS and HTTPGETOPTS.
+MP3GAINOPTS, CDPARANOIAOPTS, CDDA2WAVOPTS, PIRDOPTS, CDDAFSOPTS, CDDBTOOLOPTS,
+EJECTOPTS, DISTMP3OPTS, NORMALIZEOPTS, CDSPEEDOPTS, MKCUEOPTS, VORBISCOMMMENTOPTS,
+METAFLACOPTS, DIFFOPTS, FLACGAINOPTS, VORBISGAINOPTS and HTTPGETOPTS.
 .TP
 .B CDSPEEDVALUE
 Set the value of the CDROM speed. The default is to read the disc as fast as
 .TP
 .B CDSPEEDVALUE
 Set the value of the CDROM speed. The default is to read the disc as fast as
@@ -558,7 +558,7 @@ Will extract the files contained in singletrack using the embedded cuesheet.
 An Ogg/Vorbis, MP3, FLAC, Ogg/Speex, MPP/MP+(Musepack), M4A encoder or Opus encoder (oggenc, vorbize, lame, gogo, bladeenc, l3enc, mp3enc, flac, speexenc, mpcenc, faac, neroAacEnc, opusenc).
 .TP
 .B *
 An Ogg/Vorbis, MP3, FLAC, Ogg/Speex, MPP/MP+(Musepack), M4A encoder or Opus encoder (oggenc, vorbize, lame, gogo, bladeenc, l3enc, mp3enc, flac, speexenc, mpcenc, faac, neroAacEnc, opusenc).
 .TP
 .B *
-An audio CD reading utility (cdparanoia, icedax, cdda2wav, dagrab)
+An audio CD reading utility (cdparanoia, icedax, cdda2wav, pird, dagrab)
 .TP
 .B *
 cd-discid, a CDDB DiscID reading program.
 .TP
 .B *
 cd-discid, a CDDB DiscID reading program.
@@ -587,6 +587,7 @@ information about the CD.
 .BR cdparanoia (1),
 .BR icedax (1),
 .BR cdda2wav (1),
 .BR cdparanoia (1),
 .BR icedax (1),
 .BR cdda2wav (1),
+.BR pird (1),
 .BR dagrab (1),
 .BR normalize-audio (1),
 .BR oggenc (1),
 .BR dagrab (1),
 .BR normalize-audio (1),
 .BR oggenc (1),
index d0a091b..d341033 100644 (file)
@@ -79,7 +79,7 @@
 #NORMALIZERSYNTAX=default
 
 # CD reader program to use - currently recognized options are 'cdparanoia',
 #NORMALIZERSYNTAX=default
 
 # CD reader program to use - currently recognized options are 'cdparanoia',
-# 'icedax', 'cdda2wav', 'dagrab', 'cddafs' (Mac OS X only) and 'flac'.
+# 'icedax', 'cdda2wav', 'dagrab', 'pird', 'cddafs' (Mac OS X only) and 'flac'.
 #CDROMREADERSYNTAX=cdparanoia
 
 # CUE reader syntax for the CUE reader program to use.
 #CDROMREADERSYNTAX=cdparanoia
 
 # CUE reader syntax for the CUE reader program to use.
 #EYED3=eyeD3
 #CDPARANOIA=cdparanoia
 #CDDA2WAV=icedax
 #EYED3=eyeD3
 #CDPARANOIA=cdparanoia
 #CDDA2WAV=icedax
+#PIRD=pird
 #CDDAFS=cp
 #CDDISCID=cd-discid
 #CDDBTOOL=cddb-tool
 #CDDAFS=cp
 #CDDISCID=cd-discid
 #CDDBTOOL=cddb-tool
 #EYED3OPTS="--set-encoding=utf16-LE"
 #CDPARANOIAOPTS=
 #CDDA2WAVOPTS=
 #EYED3OPTS="--set-encoding=utf16-LE"
 #CDPARANOIAOPTS=
 #CDDA2WAVOPTS=
+#PIRDOPTS="-p"
 #CDDAFSOPTS="-f"
 #CDDBTOOLOPTS=
 #EJECTOPTS=
 #CDDAFSOPTS="-f"
 #CDDBTOOLOPTS=
 #EJECTOPTS=