X-Git-Url: https://diplodocus.org/git/flac-archive/blobdiff_plain/890a5921fe12b21fbc65d88a0e59080dc8cc9a5b..96a473cc3e97bb0adcebedcc1014a21449fa390f:/fa-rip diff --git a/fa-rip b/fa-rip index 55b2fb2..b45b655 100755 --- a/fa-rip +++ b/fa-rip @@ -3,12 +3,15 @@ # $Id$ set -e -setopt NULL_GLOB -get_cddev () { - local raw +function get_cddev { + typeset raw raw=$(sysctl -n kern.rawpartition > /dev/null | awk '{printf "%c",97+$0}') + if [[ -n ${ZSH_VERSION} ]]; then + setopt NULL_GLOB + fi + for CDDEV in /dev/{cdroms/cdrom*,cdrom*,rcd*${raw},{a,}cd*c}; do [[ -e ${CDDEV} ]] && return 0 done @@ -18,19 +21,20 @@ get_cddev () { if [[ -z ${CDDEV} ]]; then if ! get_cddev; then - echo 'CDDEV environment variable not set, defaults did not work' + echo 'CDDEV environment variable not set, defaults did not work' >&2 exit 2 fi + export CDDEV fi -discid=($(cd-discid ${CDDEV})) +dir=$(mktemp -d flac-archive.XXXXXXXXXX) +cd ${dir} -[[ -d $discid[1] ]] || mkdir $discid[1] -cd $discid[1] +cdrdao read-toc --device ${CDDEV} --driver generic-mmc toc +toc2cue toc cue -eval fa-tags $discid & +trackcount=$(grep -c 'TRACK.*AUDIO' cue) -cdrdao read-toc --device ${CDDEV} --driver generic-mmc toc -toc2cue toc cue & +fa-tags ${trackcount} -exec cdparanoia -d ${CDDEV} 1-$discid[2] wav +exec cdparanoia -d ${CDDEV} 1-$(grep -c 'TRACK.*AUDIO' cue) wav