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 09/06/2015, à 08:40

jobutane

Lancement Script media info

Bonjour,
j'ai trouver le script ci dessous pour simplifier les résultat de Media info pour les fichiers audio.
mais je n'ai pas réussi a le lancer, j'ai ajouter l'extension .sh et autorisé le fichier a s’exécuter mais rien ne se passe.


######################################################################
#
# $Id: mp3info 1921 2012-01-26 09:26:18Z phil $
#
######################################################################
usage() {
echo "usage: $0 [-m | -f] [nCol] [ dir ] "
exit 1
}

ext=flac
# if "-m" look for MP3 files
[ "a$1" = a-m ] && shift && ext=mp3
# if "-f" look for FLAC files (default)
[ "a$1" = a-f ] && shift && ext=flac

col=40
# if col=0, display titles entirely
[ "$1" -ge 0 ] 2>/dev/null && col=$1 && shift

[ -d "$1" ] && totalsize=`du -s "$1" | awk '{print $1}'`
&& set "$1"/*.$ext

if echo $0|grep -q titles
then
col=0
fi

[ a$dir = a ] || cd $dir
[ -f "$1" ] || usage
file=/tmp/mp3info$$
mediainfo "$1" | sort -u > $file
artist=`awk -F: '$1~/^Performer/ { print $2 }' $file`
album=`awk -F: '$1~/^Album/ { print $2 }' $file`
genre=`awk -F: '$1~/^Genre/ { print $2 }' $file`
year=`awk -F: '$1~/^Recorded/ { print $2 }' $file`
ripper=`awk -F: '$1~/^Writing/ { print $2 }' $file`
format=`awk -F: '$1~/^Format / { print $2 }' $file`
fprof=`awk -F: '$1~/^Format p/ { print $2 }' $file`
fvers=`awk -F: '$1~/^Format v/ { print $2 }' $file`
rate=`awk -F: '$1~/^Sampling/ { print $2 }' $file`
channels=`awk -F: '$1~/^Channel/ { print $2 }' $file`

sep="---------------------------------------------------------------------------"
if [ "$col" -ne 0 ] ; then
printf "%sn%sn(%s )n%snn" "$sep" "$album" "$artist" "$sep"
printf "%-20s: %sn" "Artist" "$artist"
printf "%-20s: %sn" "Album" "$album"
printf "%-20s: %sn" "Genre" "$genre"
printf "%-20s: %sn" "Year" "$year"
printf "%-20s: " Ripper ; echo "$ripper"
printf "%-20s: %s %s %sn" Format "$format" "$fprof" "$fvers"
printf "%sn" "$sep"

case $col in
1)
fmt='%2s|%-40s|%10s|%10s|%10sn%sn'
;;
*)
fmt='%2s|%-'$col's|%10s|%10s|%10sn%sn'
esac
printf "$fmt" " #" Title "duration" "size" "bitrate" $sep
fi
typeset -i n
n=1
while [ a"$1" != a ]
do
[ -f "$1" ] || usage
file=/tmp/mp3info$$
mediainfo "$1" | sort -u > $file
bitrate="`awk -F: '$1~/^Overall bit rate[ ]*$/ { print $2 }' $file`"
duration="`awk -F: '$1~/^Duration/ { print $2 }' $file | head -1`"
# awk -F: '$1~/^Overall bit rate mode/ { print $2 }' $file
# mode="`awk -F: '$1~/^Overall bit rate mode/ { print $2 }' $file`"
size="`awk -F: '$1~/^File/ { print $2 }' $file`"
case $col in
[01])
track="`awk -F: '$1~/^Track name / { print $2 }' $file`"
;;
*)
track="`awk -F: '$1~/^Track name / { print $2 }' $file | cut -c1-$col`"
esac
[ -z "$track" ] && track="$1"
index="`awk -F: '$1~/Position / { print $2 }' $file`"
[ a"$index"=a ] && index=$n
n=$n+1
case $col in
1)
fmt='%2s|%-40s|%10s|%10s|%s %sn'
;;
0)
fmt='%2s|%sn'
;;
*)
fmt='%2s|%-'$col's|%10s|%10s|%s %sn'
esac
if [ "$col" -ne 0 ] ; then
printf "$fmt" "$index" "$track" "$duration" "$size" "$bitrate" "$mode"
else
printf "$fmt" "$index" "$track"
fi
shift
done

if [ $col -gt 0 ]
then
printf "%sn" $sep
echo "total size : " $totalsize "KB."
echo
echo "NFO generated on " `date`
rm $file
fi
exit 0

##############################################################

Dernière modification par jobutane (Le 09/06/2015, à 09:11)


MacPro  2.80GHz×4  Ram 16G  SSD 250G  500G DD  1T  Voyager16.04 64B

Hors ligne

#2 Le 09/06/2015, à 09:13

pingouinux

Re : Lancement Script media info

Bonjour,
Sauvegarde le script (dans ton home, par exemple), puis, dans un terminal, tu tapes ces commandes

chmod u+x /...../chemin/le_script     # Pour donner la permission d'exécution
/...../chemin/le_script               # Pour lancer le script

Hors ligne

#3 Le 09/06/2015, à 10:37

jobutane

Re : Lancement Script media info

merci pingouinux j'ai essayer tes commandes et ça ma renvoyer une erreur peut etre que le script mal bidouiller

jo @ jo-MacPro  ~
└─ $ ▶ chmod u+x /home/jo/Outils/mediainfoZic.sh
jo @ jo-MacPro  ~
└─ $ ▶ /home/jo/Outils/mediainfoZic.sh
/home/jo/Outils/mediainfoZic.sh: ligne 22: Erreur de syntaxe près du symbole inattendu « && »
/home/jo/Outils/mediainfoZic.sh: ligne 22: `&& set "$1"/*.$ext'

MacPro  2.80GHz×4  Ram 16G  SSD 250G  500G DD  1T  Voyager16.04 64B

Hors ligne

#4 Le 09/06/2015, à 12:04

pingouinux

Re : Lancement Script media info

Il manque le début de la ligne 22.

Hors ligne

#5 Le 09/06/2015, à 12:12

jobutane

Re : Lancement Script media info

donc il y a des erreurs dans le script? dommage...
et comme j'y connais rien codage j'en ferais rien.


MacPro  2.80GHz×4  Ram 16G  SSD 250G  500G DD  1T  Voyager16.04 64B

Hors ligne

#6 Le 01/01/2017, à 04:06

alt.G

Re : Lancement Script media info

Bonjour, je viens réveiller un sujet pas tout récent, mais avec mes très faibles connaissances en codage, j'ai réussi à modifier ce script pour le rendre fonctionnel.
Vous pouvez le trouver à cette page: Script musicNFO par alt.g sur doc.ubuntu-fr.org

Hors ligne

#7 Le 01/01/2017, à 18:31

Watael

Re : Lancement Script media info

àmha, il ne suffit pas de réparer ce script, ou de l'optimiser; il faudrait le réécrire entièrement et proprement.
notamment, une commande awk pour chaque variable, c'est pas possible !


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne