Bonjour,
Je poste aujourd'hui ce topic dans le but de trouvé de l'aide pour un script que j'avais commencer a faire il y a quelque semaines !
Mais par manque de temps et de compétences je me tourne vers vous pour m'aider a le faire fonctionner ... Et ensuite le partagé bien sur ^^
Alors voila,
Je suis entièrement sous linux (Xubuntu & Debian at home et Debian sur mon serveur)
J'upload pas mal de musique, mais j'ai toujours le même problème lors de la création du .nfo ! En effet mediainfo ne propose pas l'analyse de dossier entier mais seulement l'analyse de fichier un par un ! Contrairement a MusicNFOBuilder sous Windows.
Donc je suis parti dans l'optique d'avoir un résultat plus ou moins similaire (voir mieux vu les possibilités de mediainfo) à MusicNFOBuilder en intégrant mediainfo dans un script !
ce que j'aimerais comme résultat par exemple (ne pas tenir compte de info elles sont pas correct c'est juste pour vous donner une idée) :
artist.txt:
Il y en a beaucoup et c'est un peu le bordel je sais, désolé !
Pour comprendre comment fonctionne les templates :
Merci d'avance a ceux qui voudrons bien m'aider, et un gros merci a "mondedie.fr" pour tous ceux qu'il ma appris/offert !
Je poste aujourd'hui ce topic dans le but de trouvé de l'aide pour un script que j'avais commencer a faire il y a quelque semaines !
Mais par manque de temps et de compétences je me tourne vers vous pour m'aider a le faire fonctionner ... Et ensuite le partagé bien sur ^^
Alors voila,
Je suis entièrement sous linux (Xubuntu & Debian at home et Debian sur mon serveur)
J'upload pas mal de musique, mais j'ai toujours le même problème lors de la création du .nfo ! En effet mediainfo ne propose pas l'analyse de dossier entier mais seulement l'analyse de fichier un par un ! Contrairement a MusicNFOBuilder sous Windows.
Donc je suis parti dans l'optique d'avoir un résultat plus ou moins similaire (voir mieux vu les possibilités de mediainfo) à MusicNFOBuilder en intégrant mediainfo dans un script !
ce que j'aimerais comme résultat par exemple (ne pas tenir compte de info elles sont pas correct c'est juste pour vous donner une idée) :
---------------------------------------------------------------------
Pink Floyd - The Dark Side Of The Moon
---------------------------------------------------------------------
Artist : Pink Floyd
Album : Dark Side of the Moon
Genre : Rock
Source : CD
Year : 1973
Format : FLAC
Sampling rate : 44.1 KHz
Bit depth : 16 bits
Channel(s) : 2 channels
---------------------------------------------------------------------
Tracklisting
---------------------------------------------------------------------
N°.Trackname [Duration] - [Bitrate] - [Size]
1. Eclipse [Live] [02:19] - [884 Kbps] - [20.6MiB]
2. Any Colour You Like [Live] [08:10] - [884 Kbps] - [20.6MiB]
3. Brain Damage [Live] [03:43] - [884 Kbps] - [20.6MiB]
4. Breathe (In the Air) [Live] [02:50] - [884 Kbps] - [20.6MiB]
5. Money [Live] [08:41] - [884 Kbps] - [20.6MiB]
6. On the Run [Live] [05:08] - [884 Kbps] - [20.6MiB]
7. Speak to Me [Live] [02:45] - [884 Kbps] - [20.6MiB]
8. The Great Gig in the Sky [Live] [06:50] - [884 Kbps] - [20.6MiB]
9. Time [Live] [06:31] - [884 Kbps] - [20.6MiB]
10. Us and Them [Live] [08:09] - [884 Kbps] - [20.6MiB]
Playing Time.........: 55:11
Total Size...........: 331,61 MB
Voila ce que j'ai réussi a faire :
#!/bin/bash
OUT=$"$rep""$*".nfo
# Vérification parametre $*
if [ "$#" -eq 0 ]; then
echo "Saisir le répertoire"
read -r rep
else
rep="$*"
fi
if [ -d "$*" ]
then
echo -e "$# est un repertoire"
rep="$*"
elif [ -f "$*" ]
then
echo -e "$# est un fichier"
fil="$*"
tracknum=$(mediainfo --Inform=file:///usr/share/script/NFOmusic/templatemediainfo/tracknum.txt "$fil" | head -n 1)
tracktitle=$(mediainfo --Inform=file:///usr/share/script/NFOmusic/templatemediainfo/tracktitle.txt "$fil" | head -n 1)
trackduration=$(mediainfo --Inform=file:///usr/share/script/NFOmusic/templatemediainfo/trackduration.txt "$fil" | head -n 1)
trackbitrate=$(mediainfo --Inform=file:///usr/share/script/NFOmusic/templatemediainfo/trackbitrate.txt "$fil" | head -n 1)
tracksize=$(mediainfo --Inform=file:///usr/share/script/NFOmusic/templatemediainfo/tracksize.txt "$fil" | head -n 1)
case ${fil#*.} in
*.flac) echo -e "$tracknum. $tracktitle""$trackduration" "$trackbitrate" "$tracksize">> "$OUT"
*.jpg | *.jpeg | *.png) echo -e "fichier images traité">> "$OUT";;
*.cue | *.log) echo -e "fichier cue log traité">> "$OUT";;
*) echo -e "autre fichier traité $fil">> "$OUT";;
esac
else
echo -e "$fil ce fichier est étrange vérifiez votre demande "
read -r rep
fi
cat "$OUT"
Un 2eme essai ( entre temps j'ai compris comment mettre un peu de couleur ) :#!/bin/bash
# Variable Couleurs :
RED="\\033[1;31m"
GREEN="\\033[1;32m"
BLUE="\\033[1;34m"
NORMAL="\\033[0;39m"
help()
{
echo -e "nfomusic.sh dossier_ou_fichier.flac"
}
#Dossier
file=0
dir=0
if [ "$#" -eq 0 ]; then
echo "Saisir le répertoire"
read -r rep
else
rep="$*"
fi
cd "$rep"
for i in *; do
if [ -f "$i" ]
then
let file=$file+1
fi
if [ -d "$i" ]
then
let dir=$dir+1
fi
done
cd ..
echo -e "$BLUE$rep$NORMAL""est un dossier qui contient :"
echo -e ""
echo -e "$GREEN$file$NORMAL fichiers :"
echo -e ""
echo -e "$GREEN"
ls -1 "$rep"*.*
echo -e "$NORMAL"
echo -e ""
echo -e ""
if [ $dir=0 ]
then
echo -e "et $RED$dir$NORMAL dossier"
echo -e ""
else
echo -e "et $RED$dir$NORMAL dossier :"
echo -e ""
ls -1 "$rep"*/
fi
fileinrep="ls -1 $rep*.*"
echo -e "Voulez vous créer un nfo ?(Y/n)"
read asw
if [[ $asw =~ ^(yes|y|Y|Yes| ) ]]
then
echo -e "continuons :D"
elif [ $asw -eq 0 ]
then
echo -e "continuons :D"
else
echo -e "vous avez repondu autre chose que Y ou entrer"
fi
artistinfo=$(mediainfo --Inform=file:///usr/share/script/NFOmusic/templatemediainfo/artist.txt "$rep"*.flac | head -n 1)
albuminfo=$(mediainfo --Inform=file:///usr/share/script/NFOmusic/templatemediainfo/album.txt "$rep"*.flac | head -n 1)
tracknumtitle=$(mediainfo --Inform=file:///usr/share/script/NFOmusic/templatemediainfo/tracknumtitle.txt "$rep"*.flac)
trackduration=$(mediainfo --Inform=file:///usr/share/script/NFOmusic/templatemediainfo/trackduration.txt "$rep"*.flac)
touch "$rep"Info.nfo
chmod 777 "$rep"Info.nfo
OUT=$"$rep"Info.nfo
echo -e ' Artist : '"$artistinfo" >> "$OUT"
echo -e ' Album : '"$albuminfo" >> "$OUT"
echo -e '|' >> "$OUT"
echo -e ${ "$tracknumtitle" } ${ "$trackduration" } >> "$OUT"
echo -e '|' >> "$OUT"
echo -e '|' >> "$OUT"
cat "$OUT"
Mes templates mediainfo (ils sont dans /usr/share/script/NFOmusic/templatemediainfo/ )artist.txt:
General;%Album/Composer%\n
album.txt :General;%Album%\n
albuminfo.txt :General;Artist..:%Album/Composer%\nAlbum...:%Album%\nYear....:%Recorded_Date%\nGenre...:%Genre%\r
Audio;Format...:%Format%\nSample Rating...:%SamplingRate/String%\nBit Depth...:%BitDepth/String%\n\n
Bon finalement je ne vais pas tous les mettre ici, ils sont téléchargeable ICIIl y en a beaucoup et c'est un peu le bordel je sais, désolé !
Pour comprendre comment fonctionne les templates :
man mediainfo
#et
mediainfo --Help-Inform
Si vous avez besoins d'infos supplémentaire n’hésitez pas a me les demander !Merci d'avance a ceux qui voudrons bien m'aider, et un gros merci a "mondedie.fr" pour tous ceux qu'il ma appris/offert !