Voila je vien de le finir il est encore plus auto que avant mais il y a aussi plein de faute d'ortogrphes dedans ma copine a pas voulue me les corriger ce coup si 😢 (les femme vous jure mdr)
Pour l'installation pas de changement si ce n'est de té charger ces 2 fichier genpuid et mipcore et de les copier dans /tmp/bin disponible sur le site
https://secure.musicip.com/dns/index.jsp (puis cliquer sur "
Free licenses are available for non-commercial use. Click here to generate a non-commercial key." il faut s'inscrire avant) (ou si vous voulez pas vous inscrire ici :
http://www.megaupload.com/fr/?d=ZOEYGW80) Leur utiliter est expliquer dans le change log.
ps: Le PUID est un peu l'empreinte numerique d'un mp3 style MD5 a ce que j'ai compris
edit : bug de atlas corriger par l'ajout de "" autour de $cddb
#!/bin/sh
##########################################################################################################
## Change log: ##
## ##
## -Utilisation de lltag -S au lieu de MP3info (v1.0) ##
## -Correction des fautes de nortograffe :) (All) ##
## -Utilisation de genpuid© et mipcore© pour générer le puid du MP3 Musicip© (http://www.musicip.com) ##
## -Utilisation de la BD Musicbrainz pour récupérer les tags auto (v1.3) ##
## -Ouverture de DEEZER avec la recherche demandé (v1.3) ##
## -Récuperation du dernier Flash*** présent dans le /tmp/ (Merci a AnsuzPeorth) (v1.2) ##
## -Utilisation de eyeD3 pour tag v1.1 et V2.4 (v1.2) ##
## -Améllioration des recherches CDDB avec lltag (v1.3) ##
## -Détermine si le chargement est complet automatiquement (Merci a AnsuzPeorth) (v1.3) ##
## ##
##########################################################################################################
#
##########################
## Auteur : 06011988 ##
## Version: 1.3 ##
## Licence: GNU ##
##########################
#
#L'auteur décline toutes responsabilités de l'utilisation illégal de deezaster!
#
# Clé d'utillisation de genpuid (Fourni par Musicdns.com)
key=3839dbda127e29ccd213da2be833b756
#Recherche a effctuer sur deezer
clear
echo "Entrer un nom d'artiste ou de chanson a rechercher sur deezer.com"
read query
#Conversion des espace en url html et autre charactere spéciaux
mquery=$(echo $query | sed -e 's/ /%20/g' | sed -e 's/[éèêë]/e/g' | sed -e 's/à/a/g' | sed -e 's/[ôö]/o/g' | sed -e 's/ù/u/g' | sed -e 's/ç/c/g')
#Lancement de firefox
firefox http://www.deezer.com/#music/result/all/$mquery 2>/dev/null &
#Fichier chargé complétement?
echo "Continuer deezaster ? [O(ui)/N(on)/I(nstallation)]"
read mot
#Oui
if [ "$mot" = "o" ] || [ "$mot" = "O" ]; then
{
##Fichier existant ?
if [ -e /tmp/Flash* ]; then
{
### Chargement du fichier test
echo "Chargement en cours. Veulliez patientez"
var=$(ls -lt /tmp/Flash* | cut -d " " -f5 | head -n1)
loading="=>"
(
until [ "$var" = "$var1" ]
do
var1=$var
sleep 2
var=$(ls -lt /tmp/Flash* | cut -d " " -f5 | head -n1)
echo $loading
loading=$(echo $loading | sed -e 's/=/==/')
done
)
clear
echo "\nFichier trouvé!"
### Sélection du dernier fichier flv présent dans /tmp/
file=$(ls -lt /tmp/Flash* | cut -d " " -f8 | head -n1)
### Copie du fichier de /tmp a /home/MP3/
cp $file ~/MP3/conv.flv
echo "\nCopie terminé!"
### Conversion FLV->MP3
mplayer -dumpaudio -dumpfile ~/MP3/conv.mp3 ~/MP3/conv.flv
echo "\nConversion Audio terminée"
### supression du flv
rm -f ~/MP3/conv.flv
### Tag
#### Génération du PUID du mp3
echo "\nGénération de l'empreinte audio. Patientez ..."
PUID=$(genpuid $key ~/MP3/conv.mp3 | grep " puid: " | sed -e 's/.*puid: //')
#### Récupération des tag avec Musicbrainz©
echo "\nRécupération des Tags sur Musicbrainz©"
wget -O ~/MP3/.PUID http://musicbrainz.org/show/puid/?puid=$PUID
#### Vérification des tag
verif=$(cat ~/MP3/.PUID | grep "This <" | sed -e 's/.*<strong>//' | sed -e 's/<\/strong>.*//')
if [ "$verif" = "PUID" ]; then
{
##### Tag non trouvé sur Musicbrainz©
clear
echo "Tag non trouvé!\n\nVoulez vous les rentrer:\n\n1/Via la base de données CDDB\n2/Les rentrer manuellement"
read choix
if [ "$choix" = "1" ]; then
{
###### Tagage avec lltag (ID3 v1)
echo "\nEntrez le nom de l'artiste ou l'album puis laissez vous guider"
read cddb
lltag --cddb-query "$cddb" ~/MP3/conv.mp3
}
elif [ "$choix" = "2" ]; then
{
###### Tagage manuel
clear
echo "Entrez l'artiste :"
read martiste
echo "\nEntrez l'album :"
read malbum
echo "\nEntrez le genre :"
read mgenre
echo "\nEntrez le titre de la chanson :"
read mtitre
eyeD3 -1 -a "$martiste" -A "$malbum" -t "$mtitre" -G "$mgenre" ~/MP3/conv.mp3
sleep 3
}
else
{
###### Erreur
echo "\nChoix possible 1 ou 2"
exit 0
}
fi
}
else
{
##### Tag trouvé sur Musicbrainz©
clear
##### Définition des variables
mbartist=$(cat ~/MP3/.PUID | grep "<table class=\"artisttitle\">" | sed -e 's/.*artist page">//g' | sed -e 's/<\/a.*//' | sed -e "s/'/'/g")
mbalbum=$(cat ~/MP3/.PUID | grep "/release/" | sed -e 's/.*">//g' | sed -e 's/<\/a.*//' | sed -e "s/'/'/g")
mbtitre=$(cat ~/MP3/.PUID | grep "/track/" | sed -e 's/.*">//g' | sed -e 's/<\/a.*//' | sed -e "s/'/'/g")
mbtrack=$(cat ~/MP3/.PUID | grep "no\">" | sed -e 's/.*">//g' | sed -e 's/<\/t.*//' | sed -e "s/'/'/g")
##### Affichage des Tags trouvés
echo "Tag Trouver :\n"
echo "\nArtiste : '"$mbartist"'"
echo "Album : '"$mbalbum"'"
echo "Piste : '"$mbtrack"'"
echo "Titre : '"$mbtitre"'"
##### Vérification des Tags
echo "\nTag correct ? [(O)ui/(N)on]"
read tag
if [ "$tag" = "o" ] || [ "$tag" = "O" ]; then
{
###### Tag conforme puis definission du Genre (pas donné par Musicbrainz©)
echo "\nEntrez le genre :"
read mbgenre
eyeD3 -1 -a "$mbartist" -A "$mbalbum" -t "$mbtitre" -G "$mbgenre" -n "$mbtrack" ~/MP3/conv.mp3
sleep 3
}
elif [ "$tag" = "n" ] || [ "$tagtag" = "N" ]; then
{
###### Tag non conforme
clear
echo "Voulez vous les rentrer:\n\n1/Via la base de données CDDB\n2/Les rentrer manuellement"
read choix
if [ "$choix" = "1" ]; then
{
####### Tagage avec lltag (ID3 v1)
echo "\nEntrez le nom de l'artiste ou l'album puis laissez vous guider"
read cddb
lltag --cddb-query "$cddb" ~/MP3/conv.mp3
}
elif [ "$choix" = "2" ]; then
{
####### Tagage manuel
clear
echo "Entrez l'artiste :"
read martiste
echo "\nEntrez l'album :"
read malbum
echo "\nEntrez le genre :"
read mgenre
echo "\nEntrez le titre de la chanson :"
read mtitre
eyeD3 -1 -a "$martiste" -A "$malbum" -t "$mtitre" -G "$mgenre" ~/MP3/conv.mp3
sleep 3
}
else
{
####### Erreur
echo "\nChoix possible 1 ou 2"
exit 0
}
fi
}
else
{
###### Erreur
echo "choix possible o/O ou n/N !"
exit 0
}
fi
}
fi
clear
echo "Insertion des tags Terminer"
### Supression du fichier .PUID
rm -f ~/MP3/.PUID
### Définition des variables
ARTIST=$(lltag -S ~/MP3/conv.mp3 | grep "ARTIST" | sed -e 's/.*=//' | sed -e 's/ /_/g')
ALBUM=$(lltag -S ~/MP3/conv.mp3 | grep "ALBUM" | sed -e 's/.*=//' | sed -e 's/ /_/g')
TITRE=$(lltag -S ~/MP3/conv.mp3 | grep "TITLE" | sed -e 's/.*=//' | sed -e 's/ /_/g')
### Création des dossiers /artist/album
mkdir -p ~/MP3/$ARTIST/$ALBUM/
### Déplacement du mp3 dans le dossier /$artist/$album
mv ~/MP3/conv.mp3 ~/MP3/$ARTIST/$ALBUM/$TITRE.mp3
### Conversion des tag v1.1 en v2.4
eyeD3 --to-v2.4 ~/MP3/$ARTIST/$ALBUM/$TITRE.mp3
clear
echo "Musique convertie et rangée dans : "$HOME"/MP3/"$ARTIST"/"$ALBUM"/"
echo "\nMerci de votre utilisation. A bientôt"
sleep 3
clear
}
else
{
echo "\nLe fichier n'existe pas, du moins n'est pas dans le répertoire /tmp ou il n'est pas chargé. Merci de relancer le deezaster."
sleep 3
}
fi
}
#Installation
elif [ "$mot" = "i" ] || [ "$mot" = "I" ]; then
{
echo "\nLe deezaster va installer le répertoire "$HOME"/MP3 et les paquets suivant: w32codecs, ffmpeg, mplayer, lltag, mp3info, eyed3.\n\nVous devez posséder les droits administration et le dépôt Medibuntu (en accord avec les lois régissant votre pays)"
echo ""
sleep 10
if [ -d ~/MP3 ]; then
{
echo "\nRépertoire déjà existant"
}
else
{
mkdir ~/MP3
echo "\nRépertoire créé"
}
fi
sudo apt-get install -y w32codecs ffmpeg mplayer lltag mp3info eyed3
echo "\nInstallation terminée! Merci de relancer deezaster"
sleep 3
clear
}
#Non
elif [ "$mot" = "n" ] || [ "$mot" = "N" ]; then
{
echo "\nMerci d'avoir lancer deezaster pour ne pas l'utiliser c'est malin ..."
sleep 3
clear
}
#Boulet
else
{
echo "\nLes choix possibles sont o/O n/N ou i/I et pas : '"$mot"'\nBoulet va!"
sleep 3
clear
}
fi
exit 0