X-Git-Url: https://diplodocus.org/git/flac-archive/blobdiff_plain/2558e29a24ce800a36b3d7515804c61805bdd908..f9701ed6e2ad1499f41932b32917d8c8a51e5a34:/fa-rip diff --git a/fa-rip b/fa-rip index a97e90c..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-$(grep -c 'TRACK.*AUDIO' cue) wav