1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #! /bin/sh
- #
- # Written by Pavel Machek
- # CDDB support by Adam Byrtek
- #
- # (C) 2000 The Free Software Foundation.
- #
- set -e
- CDDB_SERVER="http://freedb.freedb.org"
- CDDB_HANDSHAKE="hello=user+localhost+mc+1.0&proto=1"
- CDDB_TIMEOUT=20 # in seconds
- audiofs_list()
- {
- DATE=`date +"%b %d %H:%M"`
- echo "-r--r--r-- 1 0 0 0 $DATE CDDB"
- cdparanoia -Q -d "$1" 2>&1 | grep '^[ 0-9][ 0-9][ 0-9]\.' | while read A B C
- do
- A=`echo "$A" | sed -e 's/\.//' -e 's/^\(.\)$/0\1/'`
- SIZE=`expr 44 + $B \* 2352`
- echo "-r--r--r-- 1 0 0 $SIZE $DATE track-${A}.wav"
- done
- }
- audiofs_copyout()
- {
- if [ x"$2" = x"CDDB" ]; then
- DISCID=`cd-discid "$1" | tr " " "+"`
- if [ -z "$DISCID" ]; then
- exit 1
- fi
- RESPONSE=`wget -q -T $CDDB_TIMEOUT -O - "$CDDB_SERVER/~cddb/cddb.cgi?cmd=cddb+query+$DISCID&$CDDB_HANDSHAKE" | tee "$3" | @AWK@ '/^200/ { print $2,$3; }'`
- wget -q -T $CDDB_TIMEOUT -O - "$CDDB_SERVER/~cddb/cddb.cgi?cmd=cddb+read+$RESPONSE&$CDDB_HANDSHAKE" | grep -v "^#" >> "$3"
- else
- TRACK=`echo "$2" | sed 's/track-0*//' | sed 's/\.wav//'`
- cdparanoia -q -d "$1" "$TRACK" "$3" >/dev/null
- fi
- }
- if [ ! -b "$2" ]
- then
- BASE="/dev/cdrom"
- else
- BASE="$2"
- fi
- case "$1" in
- list) audiofs_list "$BASE"; exit 0;;
- copyout) audiofs_copyout "$BASE" "$3" "$4"; exit 0;;
- esac
- exit 1
|