euhh c'est pas terrible mais en lignes de commandes :
#!/bin/bash
#oggrip.sh v0.1b Sat May 31 03:42:14 CDT 2003 written by : tonton nestor <nestor@trustonme.net>
# this script is free software according to the GNU General Public License (see http://www.gnu.org/licenses/gpl.html)
##################################******INFORMATIONS SUR LE SCRIPT******##################################
### ###
### Cette première version permet de ripper le contenu d'un CD en son entier à l'aide de ###
### cdparanoia. ###
### Le format choisi est l'ogg/vorbis, et donc oggenc est indispensable. ###
### Vous pouvez suivre ce didacticiel si ogg/vorbis n'est pas installé sur votre système : ###
### http://www.trustonme.net/didactels/?rub=44#codecs_vorbis ###
### Evidemment vous pouvez adapter pour avoir du mp3 :'( Spa bieng ###
### Point Important : Il vous faut cddb.pl. Vous pouvez le télécharger sur le site officiel : ###
### http://armin.emx.at/cddb/ ###
### La version utilisée pour tester le script est la 2.2. Son installation s'effectue ainsi : ###
### tar -xzvf CDDB_get-x.x.tar.gz ###
### cd CDDB_get-x.x ###
### perl Makefile.pl ###
### make ###
### su ###
### make install ###
### Il vous faudra ensuite éditer le fichier /usr/bin/cddb.pl et remplacer les lignes 78 et 80 ###
### ressemblant à ceci : ###
### 78 $config{input}=1; # 1: ask user if more than one possibility ###
### 79 # 0: no user interaction ###
### 80 $config{multi}=0; # 1: do not ask user and get all of them ###
### 81 # 0: just the first one ###
### par : ###
### 78 $config{input}=0; # 1: ask user if more than one possibility ###
### 79 # 0: no user interaction ###
### 80 $config{multi}=1; # 1: do not ask user and get all of them ###
### 81 # 0: just the first one ###
### Et c'est terminé pour l'installation des outils. ###
### ###
##########################################################################################################
#test
if [ $# -ne 1 ]; then
echo "erreur de syntaxe"
echo "usage : oggrip <bitrate>"
echo "où bitrate est la valeur du bitrate désiré."
exit
fi
#initialisation
BITRATTE=$1
echo "artiste ?"
read VAR
echo "date ?"
read DATE
FLAG=1
TMPDIR=/mnt/musique/tmp/rip
DESTINATION=/mnt/musique
#creation des repertoires de travail
mkdir -p $TMPDIR/"$VAR"
#récupération des infos
cddb.pl > $TMPDIR/"$VAR"/INFOS || FLAG=0
if [ $FLAG = 0 ]; then
echo "artist: $VAR" > $TMPDIR/"$VAR"/INFOS
echo "album ?"
read VAR2
echo "title: $VAR2" >> $TMPDIR/"$VAR"/INFOS
echo "genre ?"
read VAR2
echo "category: $VAR2" >> $TMPDIR/"$VAR"/INFOS
echo "total de morceaux ?"
read VAR2
echo "trackno: $VAR2" >> $TMPDIR/"$VAR"/INFOS
echo "Donner les titres ?"
read REP
case $REP in
o)
I=1
J=`cat $TMPDIR/"$VAR"/INFOS | gawk -F ': ' '/trackno:/ {print $2;}'`
while [ $I -le $J ]; do
echo "Titre $I"
read TRACK
echo "track $I: $TRACK" >> $TMPDIR/"$VAR"/INFOS
let I=I+1
done
;;
n)
echo "Pas de titres"
;;
esac
FLAG=1
else echo "Base de données consultées"
fi
#initialisation des variables
ARTIST=`cat $TMPDIR/"$VAR"/INFOS | gawk -F ': ' '/artist:/ {print $2;}'`
ALBUM=`cat $TMPDIR/"$VAR"/INFOS | gawk -F ': ' '/title:/ {print $2;}'`
GENRE=`cat $TMPDIR/"$VAR"/INFOS | gawk -F ': ' '/category:/ {print $2;}'`
TRACKNO=`cat $TMPDIR/"$VAR"/INFOS | gawk -F ': ' '/trackno:/ {print $2;}'`
#rip
cd $TMPDIR/"$VAR"
FLAG2=0
cdparanoia -B &
PID=`ps -A | grep cdparanoia | gawk -F" " '{print $1}'`
sleep 10
rm -f track00.cdda.wav > /dev/null
INF=0
v=1
w=2
while [ $INF = 0 ]; do
if [ $w -le 9 ]; then
K="0$w"
else
K=$w
fi
if [ $w = `expr $TRACKNO + 1` ]; then
INF=1
elif [ -f track"$K".cdda.wav ]; then
if [ $v -le 9 ]; then
J="0$v"
else
J=$v
fi
TITRE=`cat $TMPDIR/"$VAR"/INFOS | grep "track $v:" | gawk -F": " '{print $2}' | tr / -`
oggenc track"$J".cdda.wav -b $BITRATTE -d $DATE -N $J -t "$TITRE" -a "$ARTIST" -l "$ALBUM" -G "$GENRE" -o "$J - $TITRE".ogg
rm -f track"$J".cdda.wav
let v=v+1
let w=w+1
else sleep 5
fi
done
INF=0
while [ $INF = 0 ]; do
if [ "`ps -A | grep cdparanoia | gawk -F" " '{print $1}'`" = "$PID" ]; then
sleep 5
else
if [ $TRACKNO -le 9 ]; then
J="0$TRACKNO"
else
J=$TRACKNO
fi
TITRE=`cat $TMPDIR/"$VAR"/INFOS | grep "track $TRACKNO:" | gawk -F": " '{print $2}' | tr / -`
oggenc track"$J".cdda.wav -b $BITRATTE -d $DATE -N $J -t "$TITRE" -a "$ARTIST" -l "$ALBUM" -G "$GENRE" -o "$J - $TITRE".ogg
rm -f track"$J".cdda.wav
INF=1
fi
done
#netoyage
mkdir -p "$DESTINATION"/"$VAR"/"$ALBUM"
mv *.ogg "$DESTINATION"/"$VAR"/"$ALBUM"/
cd ..
rm -fr $TMPDIR/"$VAR"
|
source : http://www.trustonme.net/scripts/index.php
Message édité par tonton nestor le 26-06-2003 à 03:33:13