#1 Le 02/03/2014, à 12:41
- easyC
[Résolu] Script ajout du numéro de piste au titre dans tag ID3
Bonjour,
J'ai un NAS qui offre la possibilité d'accéder à mes mp3 par UPnP.
Pratique, par exemple pour écouter ma musique avec ma Freebox ou depuis une tablette !
Le pb que j'ai rencontré est que la liste des pistes est par ordre alphabétique des titres et pas pas ordre des pistes. Pas réussi à résoudre ce pb. Et visiblement, on faisant le tour des forums, je ne suis pas le seul.
La solution que j'ai trouvée est d'ajouter le numéro de la piste au titre.
Pas réussi à le faire avec EasyTAG... Je n'ai pas l'impression que cette fonctionnalité existe.
Alors j'ai retroussé mes manches et j'ai pondu ce script.
Ça servira peut-être à qq'un.
#!/bin/bash
FOLDER=$1
if [[ ! -d $FOLDER ]] ; then
echo "Répertoire $FOLDER non trouvé!"
exit
fi
for FILE in "$FOLDER"/* ; do
if [[ -f $FILE ]] ; then
TRACK=`id3v2 -l "$FILE" | grep "TRCK" | awk '{printf "%02d", $NF}'`
NAME=`id3v2 -l "$FILE" | grep "TIT2" | cut -d " " -f 4-`
TORENAME=0
if [[ $NAME =~ ^[0-9][0-9]" - " ]] ; then
ANSWER="&"
while [[ ! $ANSWER =~ [inqINQ] ]] && [[ ! $ANSWER == "" ]] ; do
echo "Fichier <$NAME> déja renuméroté: [i]gnorer, [n]uméroter, [q]uitter"
stty -echo
read -n 1 ANSWER
stty echo
done
if [[ $ANSWER =~ [qQ] ]] ; then
exit
fi
if [[ $ANSWER =~ [nN] ]] ; then
TORENAME=1
fi
# if [[ $ANSWER =~ [iI""] ]] ; then
# Rien à faire
# fi
else
TORENAME=1
fi
if [ $TORENAME == 1 ] ; then
echo "$NAME > $TRACK - $NAME"
id3v2 --TIT2 "$TRACK - $NAME" "$FILE"
fi
fi
done
Hors ligne