#!/bin/bash
# périphérique représentant le lecteur CD
# convient la plupart du temps
CD_DEV=/dev/cdrom;
# résultat de la dernière commande cdparanoia
# initialisée à zéro pour pouvoir entrer dans le while
RESULT=0;
# numéro de la piste à encoder une fois dans le while
TRACK_NUM=1;
# longueur du numéro de piste : ici 3 chiffres : 001, 002...
# 4 chiffres : 0001, 0002
NUMBER_LENGHT=3;
# tant que l'on n'a pas trouvé la dernière piste, on continue.
while [ $RESULT -eq 0 ]; do
NUMBER=`printf "%.${NUMBER_LENGHT}d" $TRACK_NUM`;
# appel de la commande d'extraction
cdparanoia --force-cdrom-device $CD_DEV --output-wav "$TRACK_NUM" "track$NUMBER.wav";
# récupération du resultat de la derniere commande
RESULT=$?;
# on suppose que le CD n'est pas rayé et que le disque dur n'est pas plein.
# s'il y a erreur, c'est que le numéro de piste n'existe pas.
if [ $RESULT -eq 0 ]; then
# conversion du WAVE en MP3
lame --verbose -h -b 320 "track$NUMBER.wav" "track$NUMBER.mp3";
fi
# effacement du fichier WAVE temporaire
rm -f "track$NUMBER.wav";
# incrémentation du numéro de piste
TRACK_NUM=$(($TRACK_NUM + 1));
done