Advertisement
Guest User

Untitled

a guest
Nov 20th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 6.92 KB | None | 0 0
  1. #!/bin/bash
  2. #  .----------------.  .----------------.  .----------------.
  3. # | .--------------. || .--------------. || .--------------. |
  4. # | |  ____  ____  | || |    ______    | || |    ______    | |
  5. # | | |_  _||_  _| | || |  .' ___  |   | || |  .' ___  |   | |
  6. # | |   \ \  / /   | || | / .'   \_|   | || | / .'   \_|   | |
  7. # | |    \ \/ /    | || | | |    ____  | || | | |    ____  | |
  8. # | |    _|  |_    | || | \ `.___]  _| | || | \ `.___]  _| | |
  9. # | |   |______|   | || |  `._____.'   | || |  `._____.'   | |
  10. # | |              | || |              | || |              | |
  11. # | '--------------' || '--------------' || '--------------' |
  12. #  '----------------'  '----------------'  '----------------'
  13. NORMAL="\\033[0;39m"
  14. ROUGE="\\033[1;31m"
  15.  
  16.  
  17. if [ -z "$1" ]; then
  18. echo ""
  19. echo "Vous devez spécifier un répertoire de travail, exemple : nfogenerator /media/ZIK/Mon\ Album/"
  20. echo ""
  21. exit
  22.     fi
  23.     if [ -d "$1" ]; then
  24.     cd "$1"
  25.     exec > >(tee NFO.nfo) 2>&1
  26.     else
  27. echo ""
  28. echo ""
  29. echo "Aide pour NfoGenerator :"
  30. echo "-------------------------------------"
  31. echo ""
  32. echo "-pour lancer le générateur : nfogenerator /chemin/de/l'album/ (Exemple : nfogenerator /media/ZIK/Mon\ Album/)"
  33. echo "-Tapez simplement : nfogenerator"
  34. echo "-Vérifiez le contenu du NFO : cat /media/ZIK/Mon\ /Album/NFO.nfo"
  35. echo "-Continuez votre upload normalement."
  36. echo ""
  37. echo "Pour toutes déclarations de bug, conseil sur le développement, aide supplémentaire sur ce script. Visitez : https://forum.yggtorrent.com/index.php?/topic/5293-nfo-musique-sous-linux-pb-de-seed/"
  38. echo "YGG, Aucun droit réservé."
  39. echo ""
  40. echo ""
  41. echo -e "$ROUGE" "Si vous tombez ici sans le vouloir, c'est certainement car vous n'avez pas spécifier de REPERTOIRE d'album correct." "$NORMAL"
  42. exit
  43. fi
  44.     if [ -z $VAR ]; then #On regarde si c'est la premiere execution du script.
  45.     cat `dirname $0`/art.ascii #On affiche l'image d'entête (en ascii).
  46.     echo ""
  47.     echo ""
  48.     echo "Information Album"
  49.     echo "-----------------------------"
  50.     ALBUM=$(find . \( -iname "*.mp4" -o -iname "*ogg" -o -iname "*.mp3" -o -iname "*.wma" -o -iname "*.aac" -o -iname "*.ac3" -o -iname "*.flac" -o -iname "*.m4a" -o -iname "*.wav" \) | head -n 1) #On prend la premiere piste de l'album.
  51.     mediainfo "$ALBUM" | egrep -i "album|overall bit rate  |Format  |Genre  |Recorded date   "                           #On filtre les infos que l'on veut.
  52.     TRACKCOUNT=$(find . \( -iname "*.mp4" -o -iname "*ogg" -o -iname "*.mp3" -o -iname "*.wma" -o -iname "*.aac" -o -iname "*.ac3" -o -iname "*.flac" -o -iname "*.m4a" -o -iname "*.wav" \) | wc -l 2>> /dev/null) #On compte le nombre de piste dans l'album (dossier ET sous-dossiers)
  53.     echo ""
  54.     echo "Information Upload"
  55.     echo "-----------------------------"
  56.     echo "Total track    : $TRACKCOUNT"
  57.     echo "Taille Totale  : `du -hc ./ | grep -i total | cut -c -4`" #Taille totale de(s) album(s).
  58.     POCHETTE=$(find . \( -iname "*.jpg" -o -iname "*.bmp" -o -iname "*.png" \))
  59.         if [ -z "$POCHETTE" ]; then
  60.         echo "Image Pochette : Non"
  61.         else
  62.         echo "Image Pochette : Oui"
  63.         fi
  64.     echo ""
  65.  
  66.     TESTTITLE=$(mediainfo "$ALBUM" --inform="General;%Title%")
  67.     TESTPOSITION=$(mediainfo "$ALBUM" --inform="General;%Track/Position%")
  68.     TESTQUALITE=$(mediainfo "$ALBUM" --inform="General;%OverallBitRate/String%")
  69.         if [ -z "$TESTTITLE" ] || [ -z "$TESTPOSITION" ] || [ -z "$TESTQUALITE" ]; then #On verifie si le nfo est complet.
  70.         echo -e "$ROUGE" "###########################################################################""$NORMAL"
  71.         echo "/!\ ATTENTION : Manque d'information dans le fichier, NFO INCOMPLET. /!\."
  72.         echo -e "$ROUGE" "###########################################################################""$NORMAL"
  73.         echo ""
  74.         fi
  75.  
  76.         if [ -z "$ALBUM" ]; then
  77.         echo -e "$ROUGE" "###########################################################################""$NORMAL"
  78.         echo -e "$ROUGE" "###########################################################################""$NORMAL"
  79.         echo "########## AUCUN FICHIER TROUVER, LISEZ L'AIDE #############"
  80.         echo "##################  nfogenerator --help ####################"
  81.         echo -e "$ROUGE" "###########################################################################""$NORMAL"
  82.         echo -e "$ROUGE" "###########################################################################""$NORMAL"
  83.         echo ""
  84.         echo ""
  85.         "$0" --help
  86.         fi
  87.  
  88.     VAR=1 #On cloture le premier lancement du script.
  89.     fi
  90.  
  91.     echo "#############################################################"
  92.     echo "#############################################################"
  93.     echo ""
  94.     echo ""
  95.  
  96.     find . \( -iname "*.mp4" -o -iname "*ogg" -o -iname "*.mp3" -o -iname "*.wma" -o -iname "*.aac" -o -iname "*.ac3" -o -iname "*.flac" -o -iname "*.m4a" -o -iname "*.wav" \) | sort -u | while read SOUND #On recherche les fichiers audio dans les dossiers et on trie alphabetiquement.
  97.     do
  98.  
  99.         if [ -z "$ORIGINAL" ]; then #On verifie que la variable ORIGINAL est vide.
  100.         export ORIGINAL="$(dirname "$SOUND")"
  101.         export FIRST="$(echo "$ORIGINAL")"
  102.         export DISC="1"
  103.         export OK="0"
  104.         fi
  105.     export ORIGINAL="$(dirname "$SOUND")"
  106.  
  107.  
  108.     if [ "$ORIGINAL" = "$FIRST" ]; then #On verifie que l'on est danc le 1er CD.
  109.         if [ $OK = 0 ];then           #On verifie si le CD a déjà été afficher.
  110.         echo
  111.         echo "CD$DISC #"
  112.         echo "-----------------------------------------------------"
  113.         export OK="1"
  114.         fi
  115.  
  116.         mediainfo "$SOUND" --inform="General;%Track/Position% : %Performer% - %Title% (%Duration/String%)" #On extrai les infos de la track : Titre, Position, Durée etc...
  117.         export ORIGINAL="$(dirname "$SOUND")"
  118.         else
  119.         #  export ACTUAL=$(dirname "$SOUND")
  120.  
  121.             if [ "$ORIGINAL" != "$ACTUAL" ]; then #Si on change de répertoire, on change de CD !
  122.             DISC="$(expr "$DISC" + 1)"             #Calcul du numero de CD.
  123.             export ACTUAL="$(dirname "$SOUND")"
  124.             export ORIGINAL="$(dirname "$SOUND")"
  125.             export OK="0"
  126.             fi
  127.  
  128.         if [ $OK = 0 ];then
  129.         echo
  130.         echo "CD$DISC #"
  131.         echo "-----------------------------------------------------"
  132.         export OK="1"
  133.  
  134.         TESTTITLE=$(mediainfo "$SOUND" --inform="General;%Title%")
  135.         TESTPOSITION=$(mediainfo "$SOUND" --inform="General;%Track/Position%")
  136.         TESTQUALITE=$(mediainfo "$SOUND" --inform="General;%OverallBitRate/String%")
  137.             if [ -z "$TESTTITLE" ] || [ -z "$TESTPOSITION" ] || [ -z "$TESTQUALITE" ]; then #On verifie si le nfo est complet.
  138.             echo -e "$ROUGE" "###########################################################################""$NORMAL"
  139.             echo "/!\ ATTENTION : Manque d'information dans le fichier, NFO INCOMPLET. /!\."
  140.             echo -e "$ROUGE" "###########################################################################""$NORMAL"
  141.             echo ""
  142.             fi
  143.         fi
  144.         mediainfo "$SOUND" --inform="General;%Track/Position% : %Performer% - %Title% (%Duration/String%)"
  145.         export ORIGINAL="$(dirname "$SOUND")"
  146.     fi
  147. done
  148. echo
  149. echo "#########################################################"
  150. echo "Si vous aimez le cd, achetez le.
  151. echo "#########################################################"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement