Advertisement
Guest User

Untitled

a guest
Nov 20th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.65 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.  
  19. if [ -z $VAR ]; then #On regarde si c'est la premiere execution du script.
  20. cat `dirname $0`/art.ascii #On affiche l'image d'entête (en ascii).
  21. echo ""
  22. echo ""
  23. echo "Information Album"
  24. echo "-----------------------------"
  25. 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.
  26. mediainfo "$ALBUM" | egrep -i "album|overall bit rate |Format |Genre |Recorded date " #On filtre les infos que l'on veut.
  27. 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)
  28. echo ""
  29. echo "Information Upload"
  30. echo "-----------------------------"
  31. echo "Total track : $TRACKCOUNT"
  32. echo "Taille Totale : `du -hc ./ | grep -i total | cut -c -4`" #Taille totale de(s) album(s).
  33. POCHETTE=$(find . \( -iname "*.jpg" -o -iname "*.bmp" -o -iname "*.png" \))
  34. if [ -z "$POCHETTE" ]; then
  35. echo "Image Pochette : Non"
  36. else
  37. echo "Image Pochette : Oui"
  38. fi
  39.  
  40. echo ""
  41.  
  42. TESTTITLE=$(mediainfo "$ALBUM" --inform="General;%Title%")
  43. TESTPOSITION=$(mediainfo "$ALBUM" --inform="General;%Track/Position%")
  44. TESTQUALITE=$(mediainfo "$ALBUM" --inform="General;%OverallBitRate/String%")
  45. if [ -z "$TESTTITLE" ] || [ -z "$TESTPOSITION" ] || [ -z "$TESTQUALITE" ]; then #On verifie si le nfo est complet.
  46. echo -e "$ROUGE" "###########################################################################""$NORMAL"
  47. echo "/!\ ATTENTION : Manque d'information dans le fichier, NFO INCOMPLET. /!\."
  48. echo -e "$ROUGE" "###########################################################################""$NORMAL"
  49. echo ""
  50. fi
  51.  
  52. if [ -z "$ALBUM" ]; then
  53. echo -e "$ROUGE" "###########################################################################""$NORMAL"
  54. echo -e "$ROUGE" "###########################################################################""$NORMAL"
  55. echo "########## AUCUN FICHIER TROUVER, LISEZ L'AIDE #############"
  56. echo "################## nfogenerator --help ####################"
  57. echo -e "$ROUGE" "###########################################################################""$NORMAL"
  58. echo -e "$ROUGE" "###########################################################################""$NORMAL"
  59. echo ""
  60. echo ""
  61. "$0" --help
  62. fi
  63.  
  64. VAR=1 #On cloture le premier lancement du script.
  65. fi
  66.  
  67. echo "#############################################################"
  68. echo "#############################################################"
  69. echo ""
  70. echo ""
  71.  
  72. 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.
  73. do
  74.  
  75. if [ -z "$ORIGINAL" ]; then #On verifie que la variable ORIGINAL est vide.
  76. export ORIGINAL="$(dirname "$SOUND")"
  77. export FIRST="$(echo "$ORIGINAL")"
  78. export DISC="1"
  79. export OK="0"
  80. fi
  81. export ORIGINAL="$(dirname "$SOUND")"
  82.  
  83.  
  84. if [ "$ORIGINAL" = "$FIRST" ]; then #On verifie que l'on est danc le 1er CD.
  85. if [ $OK = 0 ];then #On verifie si le CD a déjà été afficher.
  86. echo
  87. echo "CD$DISC #"
  88. echo "-----------------------------------------------------"
  89. export OK="1"
  90. fi
  91.  
  92. mediainfo "$SOUND" --inform="General;%Track/Position% : %Performer% - %Title% (%Duration/String%)" #On extrai les infos de la track : Titre, Position, Durée etc...
  93. export ORIGINAL="$(dirname "$SOUND")"
  94. else
  95. # export ACTUAL=$(dirname "$SOUND")
  96.  
  97. if [ "$ORIGINAL" != "$ACTUAL" ]; then #Si on change de répertoire, on change de CD !
  98. DISC="$(expr "$DISC" + 1)" #Calcul du numero de CD.
  99. export ACTUAL="$(dirname "$SOUND")"
  100. export ORIGINAL="$(dirname "$SOUND")"
  101. export OK="0"
  102. fi
  103.  
  104. if [ $OK = 0 ];then
  105. echo
  106. echo "CD$DISC #"
  107. echo "-----------------------------------------------------"
  108. export OK="1"
  109. TESTTITLE=$(mediainfo "$SOUND" --inform="General;%Title%")
  110. TESTPOSITION=$(mediainfo "$SOUND" --inform="General;%Track/Position%")
  111. TESTQUALITE=$(mediainfo "$SOUND" --inform="General;%OverallBitRate/String%")
  112. if [ -z "$TESTTITLE" ] || [ -z "$TESTPOSITION" ] || [ -z "$TESTQUALITE" ]; then #On verifie si le nfo est complet.
  113. echo -e "$ROUGE" "###########################################################################""$NORMAL"
  114. echo "/!\ ATTENTION : Manque d'information dans le fichier, NFO INCOMPLET. /!\."
  115. echo -e "$ROUGE" "###########################################################################""$NORMAL"
  116. echo ""
  117. fi
  118. fi
  119. mediainfo "$SOUND" --inform="General;%Track/Position% : %Performer% - %Title% (%Duration/String%)"
  120. export ORIGINAL="$(dirname "$SOUND")"
  121. fi
  122.  
  123. done
  124.  
  125. echo
  126. echo "#########################################################"
  127. echo "Si vous aimez le cd, achetez le. Upload depuis mon RaspBerry-Pi."
  128. echo "#########################################################"
  129.  
  130. elif [ "$1" = "--help" ];then
  131. echo "Aide pour NfoGenerator :"
  132. echo "-------------------------------------"
  133. echo ""
  134. echo "-Placez vous dans le répertoire de l'album dont vous voulez créer le NF (Exemple : /media/ZIK/Mon\ Album/)"
  135. echo "-Tapez simplement : nfogenerator"
  136. echo "-Vérifiez le contenu du NFO : cat /media/ZIK/Mon\ /Album/NFO.nfo"
  137. echo "-Continuez votre upload normalement."
  138. echo ""
  139. 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?/forum/7-tutos/
  140. echo "YGG Torrent, Aucun droit réservé."
  141. else
  142. echo "Nfo Generator :"
  143. echo "-------------------------------------"
  144. echo ""
  145. echo "Pour accéder à l'aide : nfogenerator --help"
  146. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement