X-Git-Url: https://git.hcoop.net/clinton/abcde.git/blobdiff_plain/216714c00867fb180e93a9c6cafa0b48b1db358c..refs/heads/master:/abcde diff --git a/abcde b/abcde index ababbd3..2792c69 100755 --- a/abcde +++ b/abcde @@ -790,6 +790,16 @@ echo ${id} return 0 } +print_genres () { + local len=${#CDGENRE[@]} + local i=0 + + for (( i=0; i < len ; i++)) + do + echo GENRE="${CDGENRE[$i]}" + done +} + # do_tag [tracknumber] # id3 tags a filename # variables used: @@ -827,13 +837,18 @@ do_tag () eyed3) # FIXME # track numbers in mp3 come with 1/10, so we cannot # happily substitute them with $TRACKNUM + # FIXME as well! # Older versions of eyeD3 (< 0.7.0) expect + # --set-encoding and --set-text-frame so perhaps some version + # sniffing would be useful. Might also be better to simply cut + # ties with the older eyeD3... Andrew. + # eyeD3 --comment syntax is also different in < and >= 0.7.0 run_command tagtrack-$OUTPUT-$1 nice $ENCNICE $TAGGER $TAGGEROPTS \ - --comment=::"$COMMENTOUTPUT" -A "$DALBUM" \ + --comment="$COMMENTOUTPUT" -A "$DALBUM" \ -a "$TRACKARTIST" -t "$TRACKNAME" -Y "$CDYEAR" \ -G "$GENREID" -n "${TRACKNUM:-$1}" \ ${TRACKNUM:+-N "$TRACKS"} \ - ${ENCODING:+--set-encoding="$ENCODING"} \ - ${TPE2:+--set-text-frame=TPE2:"$TPE2"} \ + ${ENCODING:+--encoding="$ENCODING"} \ + ${TPE2:+--text-frame=TPE2:"$TPE2"} \ "$ABCDETEMPDIR/track$1.$OUTPUT" ;; # FIXME # Still not activated... @@ -875,7 +890,7 @@ do_tag () echo DATE="$CDYEAR" fi if [ -n "$CDGENRE" ]; then - echo GENRE="$CDGENRE" + print_genres fi echo TRACKNUMBER=${TRACKNUM:-$1} if [ -n "$DISCNUMBER" ]; then @@ -914,7 +929,7 @@ do_tag () echo DATE="$CDYEAR" fi if [ -n "$CDGENRE" ]; then - echo GENRE="$CDGENRE" + print_genres fi echo TRACKNUMBER="${TRACKNUM:-$1}" if [ -n "$DISCNUMBER" ]; then @@ -2948,6 +2963,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" ;; + pird) READTRACKNUMS="$FIRSTTRACK..$LASTTRACK" ;; *) echo "abcde error: $CDROMREADERSYNTAX does not support ONETRACK mode" exit 1 ;; esac @@ -3028,6 +3044,12 @@ do_cdread () 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) @@ -3267,6 +3289,7 @@ CDPARANOIA=cdparanoia CDDA2WAV=icedax DAGRAB=dagrab CDDAFS=cp +PIRD=pird CDDISCID=cd-discid CDDBTOOL=cddb-tool MUSICBRAINZ=abcde-musicbrainz-tool @@ -3310,7 +3333,10 @@ MPCENCOPTS= AACENCOPTS= ID3OPTS= -EYED3OPTS="--set-encoding=utf16-LE" +# FIXME # Older versions of eyeD3 (< 0.7.0) expect --set-encoding=utf16-LE +# so perhaps some version sniffing would be useful. Or perhaps it might be +# better to simply cut ties with the older eyeD3... Andrew. +EYED3OPTS="--encoding utf16" CDPARANOIAOPTS= CDDA2WAVOPTS= DAGRABOPTS= @@ -3338,7 +3364,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_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:" @@ -3565,6 +3591,7 @@ if [ "$ONETRACK" = "y" ]; then flac) ;; cdparanoia) ;; cdda2wav | icedax) ;; + pird) ;; *) log error "$CDROMREADERSYNTAX does not support ONETRACK mode" exit 1 ;; esac @@ -3759,6 +3786,10 @@ case "$CDROMREADERSYNTAX" in CDROMREADER="$DAGRAB" CDROMREADEROPTS="$DAGRABOPTS" ;; + pird) + CDROMREADER="$PIRD" + CDROMREADEROPTS="$PIRDOPTS" + ;; cddafs) CDROMREADER="$CDDAFS" CDROMREADEROPTS="$CDDAFSOPTS" @@ -4009,6 +4040,7 @@ fi 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 ;; @@ -4022,6 +4054,7 @@ fi 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 @@ -4174,6 +4207,7 @@ fi if [ X"$CDSPEEDVALUE" != "X" ]; then case "$CDROMREADERSYNTAX" in cdparanoia|debug) ;; + pird) ;; flac) ;; *) do_cdspeed ;; esac