#! /usr/bin/env zsh # $Id$ set -e 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 return 1 } if [[ -z ${CDDEV} ]]; then if ! get_cddev; then echo 'CDDEV environment variable not set, defaults did not work' >&2 exit 2 fi export CDDEV fi dir=$(mktemp -d flac-archive.XXXXXXXXXX) cd ${dir} cdrdao read-toc --device ${CDDEV} --driver generic-mmc toc toc2cue toc cue trackcount=$(grep -c 'TRACK.*AUDIO' cue) fa-tags ${trackcount} exec cdparanoia -d ${CDDEV} 1-$(grep -c 'TRACK.*AUDIO' cue) wav