#!/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