Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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