voila ça marche pour le classement par dossier j'ai verifier et corrigé.il y a une seule fonction, c'est configuration et c'est parce que on en a besoin à plusieurs endroit, mais il suffit de recopier.
Est il possible dans une liste de spécifier la valeur par defaut? Pour que si la personne veux modifier son fichier de config ça lui mette dans la fenêtre sa configuration comme elle était avant
ça fait 2h que je cherche pour enlever ces if horribles à la fin et je n'ai pas trouvé.
j'aurais voulu écrire par exemple ARTIST dans le fichier config
et arriver a prendre ce qu'il y a dans le fichier donc ARTIST et le mettre dans une variable par exemple rang1
et ensuite arriver avec rang1 à faire $ARTIST pour avoir le nom de l'artiste
donc
rang1=ARTISTE
quelque chose $rang1 donne le nom de l'artiste.
j'ai pas d'idée
#!/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ée (v1.3) ##
## -Récupération du dernier Flash*** présent dans le /tmp/ (Merci à AnsuzPeorth) (v1.2) ##
## -Utilisation de eyeD3 pour tag v1.1 et V2.4 (v1.2) ##
## -Amélioration des recherches CDDB avec lltag (v1.3) ##
## -Détermine si le chargement est complet automatiquement (Merci à AnsuzPeorth) (v1.3) ##
## -Différent choix de recherche (v1.4) ##
## -Correction du bug quand plusieurs Flash** dans /tmp/ (v1.4) ##
## -Correction du bug pour la requête sur CDDB (v1.4) ##
## -Correction du bug des tag quand le PUID donne plusieurs réponses ##
## -Suppression des underscrore pour le trie des mp3 (v1.4) ##
## -Amélioration de l'affichage (v1.4) ##
## -Utilisation eyeD3 pour la définition des variables de trie (Regle le problème d'accent) (ruse de sioux) (v1.4) ##
## -Mise en Majuscule de la première lettre de chaque tag rentré manuellement (v1.4) ##
## -Conversion réalisée dans ~/MP3/conv pour que ça soit plus propre et rangé (v1.4) ##
## -Création d'un installeur automatique (v1.5) ##
## -Modification de la requête Imeem pour n'afficher que des musiques (v1.5) ##
## -Ajout en prévision des images de fond et icônes (v1.5) ##
## -Ajout en prévision du raccourci dans Application>Son et videos>Deezaster (v1.5) ##
## -Raccourci ajouté (v1.6) ##
## -Interface grafique (v1.7) ##
## -Utilisation des genres fournie par eyeD3 -l (1.7) ##
## -Modification du fichier install pour incorporer les images et icone néccesaire pour la version grafique (v1.7) ##
## -Correction de bug diverse (v1.7) ##
## -Amélioration de l'execution du script et simplification des opération conditionnelle (v1.7) ##
## ##
## -Affin de respecter les lois régissant internet dans mon beau pays des droits de l'Homme cette ##
## version sera changer prochainnement pour ne plus laisser de lien avec les sites Deezer et Imeem et devenir un script##
## sans ambigueter avec le Warez chose dons ce script n'est pas fait et ne sera jamais fait. ##
## ##
## Amicalement 06011988 ##
## ##
##########################################################################################################################
#
##########################
## Auteur : 06011988 ##
## Version: 1.7 ##
## Licence: GNU ##
##########################
#
#L'auteur décline toutes responsabilités de l'utilisation illégale de deezaster!
#
# Clé d'utilisation de genpuid (Fourni par Musicdns.com)
key=3839dbda127e29ccd213da2be833b756
configuration(){
export MAIN_DIALOG='
<vbox>
<frame répertoire>
<hbox>
<vbox>
<entry accept="directory">
<label>Selectionner un repertoire</label>
<variable>FILE_DIRECTORY</variable>
</entry>
<button>
<input file stock="gtk-open"></input>
<variable>FILE_BROWSE_DIRECTORY</variable>
<action type="fileselect">FILE_DIRECTORY</action>
</button>
</vbox>
<vbox>
<combobox>
<variable>rang1</variable>
<item>Artiste</item>
<item>Genre</item>
<item>Album</item>
<item></item>
</combobox>
</vbox>
<vbox>
<combobox>
<variable>rang2</variable>
<item>Album</item>
<item>Genre</item>
<item>Artiste</item>
<item></item>
</combobox>
</vbox>
<vbox>
<combobox>
<variable>rang3</variable>
<item></item>
<item>Genre</item>
<item>Album</item>
<item>Artiste</item>
</combobox>
</vbox>
</hbox>
</frame>
<hbox>
<button ok></button>
<button cancel></button>
</hbox>
</vbox>
'
VARIABLES=`gtkdialog --program MAIN_DIALOG`
eval $VARIABLES
if [ "$EXIT" = "OK" ] ; then
if [ -d "$FILE_DIRECTORY" ] ; then
echo "chemin=$FILE_DIRECTORY">~/.deezaster/config
echo -e "rang1=$rang1\nrang2=$rang2\nrang3=$rang3" >>~/.deezaster/config
else
configuration
exit 0
fi
elif [ "$EXIT" = "cancel" ] ; then
exit 0
else
exit 0
fi
}
if [ -r ~/.deezaster/config ]; then
dossier=$(cat ~/.deezaster/config | grep "dossier" | sed -e 's/dossier=//')
rang1=$(cat ~/.deezaster/config | grep "rang1" | sed -e 's/rang1=//')
rang2=$(cat ~/.deezaster/config | grep "rang2" | sed -e 's/rang2=//')
rang3=$(cat ~/.deezaster/config | grep "rang3" | sed -e 's/rang3=//')
#Recherche
export MAIN_DIALOG='
<window icon-name="deezaster" title="Deezaster" resizable="false" window_position="1">
<vbox>
<hbox>
<pixmap>
<input file>/usr/share/pixmaps/deezasterfd.png</input>
</pixmap>
</hbox>
<hbox>
<frame Sur quel site effectuer une recherche?>
<hbox>
<combobox>
<variable>search</variable>
<item>Deezer</item>
<item>Imeem</item>
<item>Les 2</item>
<item>Fichier déjà en cours de chargement</item>
</combobox>
<entry>
<variable>query</variable>
<default>Artiste ou chanson à rechercher ...</default>
</entry>
</hbox>
</frame>
</hbox>
<hbox>
<button ok></button>
<button help></button>
<button cancel></button>
</hbox>
</vbox>
</window>
'
# Récupérer la sortie standard de Gtkdialog
VARIABLES=`gtkdialog --program MAIN_DIALOG`
# Créer les variables shell
eval $VARIABLES
# OK
if [ "$EXIT" = "OK" ]; then
{
if [ "$search" = "Deezer" ]; then
{
#Conversion des espaces en url html et autres charactères 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 &
}
elif [ "$search" = "Imeem" ]; then
{
##Recherche à effectuer sur imeem
#Conversion des espaces en url html et autres charactères 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.imeem.com/tag/$mquery/music/ 2>/dev/null &
}
elif [ "$search" = "Les 2" ]; then
{
#Conversion des espaces en url html et autres charactères 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 &
firefox http://www.imeem.com/tag/$mquery/music/ 2>/dev/null &
}
fi
}
# Quitte
elif [ "$EXIT" = "Cancel" ]; then
{
boulet="Merci d'avoir lancer deezaster pour ne pas l'utiliser c'est mâlin ..."
export MAIN_DIALOG='
<window title="Au revoir" icon-name="stop" resizable="false" window_position="1">
<vbox>
<frame Boulet :>
<text>
<label>'"$boulet"'</label>
</text>
</frame>
<hbox>
<button ok></button>
</hbox>
</vbox>
</window>
'
gtkdialog --program=MAIN_DIALOG
exit 0
}
# Aide
elif [ "$EXIT" = "Help" ]; then
{
legal="L'auteur décline toutes responsabilités de l'utilisation illégale de deezaster!"
export MAIN_DIALOG='
<window title="About" icon-name="help" resizable="false" window_position="1">
<vbox>
<frame Information :>
<text use-markup="true">
<label>"<b>Script réalisé par:</b> 06011988"</label>
</text>
<text>
<label>'"$legal"'</label>
</text>
<text use-markup="true">
<label>"<b>Pour tout bugs:</b>"</label>
</text>
<text selectable="true">
<label>http://forum.ubuntu-fr.org/viewtopic.php?pid=2338606</label>
</text>
</frame>
<hbox>
<button ok></button>
</hbox>
</vbox>
</window>
'
gtkdialog --program=MAIN_DIALOG
deezaster
exit 0
}
fi
# Fichier chargé complétement?
export MAIN_DIALOG='
<window title="Attention" icon-name="gtk-dialog-warning" resizable="false" window_position="1">
<vbox>
<frame Attention>
<text>
<label>Merci de lancer le chargement de la musique avant de continuer Deezaster</label>
</text>
</frame>
<hbox>
<button ok></button>
</hbox>
</vbox>
</window>
'
# Récupérer la sortie standard de Gtkdialog
VARIABLES=`gtkdialog --program MAIN_DIALOG`
# Créer les variables shell
eval $VARIABLES
### Sélection du dernier fichier flv présent dans /tmp/
file=$(ls -lt /tmp/Flash* | cut -d " " -f8 | head -n1)
# OK
if [ "$EXIT" = "OK" ]; then
{
##Fichier existant ?
if [ -e "$file" ]; then
{
### Chargement du fichier test
export MAIN_DIALOG='
<window title="Téléchargement" icon-name="dialog-info" resizable="false" window_position="1">
<vbox>
<frame Info :>
<text>
<label>Validé pour que téléchargement debute.</label>
</text>
<text>
<label>cette étape peut prendre plus ou moin de temps selon votre connexion, une fenêtre apparaitera une fois la tache éxecutée</label>
</text>
</frame>
<hbox>
<button ok></button>
</hbox>
</vbox>
</window>
'
gtkdialog --program=MAIN_DIALOG
var=$(ls -lt /tmp/Flash* | cut -d " " -f5 | head -n1)
(
until [ "$var" = "$var1" ]
do
var1=$var
sleep 2
var=$(ls -lt /tmp/Flash* | cut -d " " -f5 | head -n1)
done
)
export MAIN_DIALOG='
<window title="Téléchargement terminé" icon-name="dialog-info" resizable="false" window_position="1">
<vbox>
<frame Info :>
<text>
<label>Téléchargement terminé! La Conversion audio va débutée</label>
</text>
<text>
<label>Cette étape peut prendre plus ou moin de temps selon la durée de la chanson, une fenêtre apparaitera une fois la tache éxecutée</label>
</text>
</frame>
<hbox>
<button ok></button>
</hbox>
</vbox>
</window>
'
gtkdialog --program=MAIN_DIALOG
### Copie du fichier de /tmp a /home/MP3/
mkdir -p ~/MP3/conv/
cp $file ~/MP3/conv/conv.flv
### Conversion FLV->MP3
mplayer -dumpaudio -dumpfile ~/MP3/conv/conv.mp3 ~/MP3/conv/conv.flv
### supression du flv
rm -f ~/MP3/conv/conv.flv
### Tag
#### Génération du PUID du mp3
label="Conversion audio terminée! Génération de l'empreinte audio"
PUID=$(genpuid $key ~/MP3/conv/conv.mp3 | grep " puid: " | sed -e 's/.*puid: //')
#### Récupération des tags avec Musicbrainz©
wget -O ~/MP3/conv/.PUID http://musicbrainz.org/show/puid/?puid=$PUID
#### Vérification des tags
export MAIN_DIALOG='
<window title="Conversion audio terminée" icon-name="dialog-info" resizable="false" window_position="1">
<vbox>
<frame Info :>
<text>
<label>'"$label"'</label>
</text>
<text>
<label>Cette étape peut prendre plus ou moin de temps selon la durée de la chanson, une fenêtre apparaitera une fois la tache éxecutée</label>
</text>
</frame>
<hbox>
<button ok></button>
</hbox>
</vbox>
</window>
'
gtkdialog --program=MAIN_DIALOG
verif=$(cat ~/MP3/conv/.PUID | grep "This <" | sed -e 's/.*<strong>//' | sed -e 's/<\/strong>.*//')
if [ "$verif" = "PUID" ]; then
{
##### Tag non trouvé sur Musicbrainz©
export MAIN_DIALOG='
<window title="Tag non trouvé" icon-name="dialog-info" resizable="false" window_position="1">
<vbox>
<frame Info :>
<text>
<label>Tag non trouvé sur Musicbrainz©. Que faire rentrez les tag :</label>
</text>
</frame>
<hbox>
<button>
<input file icon="emblem-draft">"Manuellement"</input><label>Manuellement</label>
</button>
<button>
<input file icon="emblem-web">Via la CDDB</input><label>Via la base de données CDDB</label>
</button>
</hbox>
</vbox>
</window>
'
# Récupérer la sortie standard de Gtkdialog
VARIABLES=`gtkdialog --program MAIN_DIALOG`
# Créer les variables shell
eval $VARIABLES
if [ "$EXIT" = "Via la base de données CDDB" ]; then
{
###### Tagage avec lltag (ID3 v1)
label="Entrer le nom de l'artiste ou l'album puis laissez vous guider:"
export MAIN_DIALOG='
<window title="Recherche CDDB" icon-name="help" resizable="false" window_position="1">
<vbox>
<text>
<label>'"$label"'</label>
</text>
<entry>
<variable>cddb</variable>
</entry>
<button ok></button>
</vbox>
</window>'
###### Récupérer la sortie standard de Gtkdialog
VARIABLES=`gtkdialog --program MAIN_DIALOG`
###### Créer les variables shell
eval $VARIABLES
###### Lancement de lltag dans un terminal
gnome-terminal -x lltag --cddb-query "$cddb" ~/MP3/conv/conv.mp3
use_lltag="1"
}
elif [ "$EXIT" = "Manuellement" ]; then
{
###### Tagage manuel
export MAIN_DIALOG='
<window title="Rentré les tags manuellement" icon-name="help" resizable="false" window_position="1">
<vbox>
<hbox>
<text>
<label>Artiste :</label>
</text>
<entry>
<variable>martiste</variable>
</entry>
</hbox>
<hbox>
<text>
<label>Album : </label>
</text>
<entry>
<variable>malbum</variable>
</entry>
</hbox>
<hbox>
<text>
<label>Genre : </label>
</text>
<combobox>
<variable>mgenre</variable>
<item>Blues</item>
<item>A Cappella</item>
<item>Acid</item>
<item>Acid Punk</item>
<item>Acoustic</item>
<item>Alternative</item>
<item>AlternRock</item>
<item>Ambient</item>
<item>Anime</item>
<item>Avantgarde</item>
<item>Ballad</item>
<item>Bass</item>
<item>Beat</item>
<item>Bebob</item>
<item>Big Band</item>
<item>Black Metal</item>
<item>Bluegrass</item>
<item>Booty Bass</item>
<item>BritPop</item>
<item>Cabaret</item>
<item>Celtic</item>
<item>Chamber Music</item>
<item>Chanson</item>
<item>Chorus</item>
<item>Christian Gangsta Rap</item>
<item>Christian Rap</item>
<item>Christian Rock</item>
<item>Classic Rock</item>
<item>Classical</item>
<item>Club</item>
<item>Club-House</item>
<item>Comedy</item>
<item>Contemporary Christian</item>
<item>Country</item>
<item>Crossover</item>
<item>Cult</item>
<item>Dance</item>
<item>Dance Hall</item>
<item>Darkwave</item>
<item>Death Metal</item>
<item>Disco</item>
<item>Dream</item>
<item>Drum & Bass</item>
<item>Drum Solo</item>
<item>Duet</item>
<item>Easy Listening</item>
<item>Electronic</item>
<item>Ethnic</item>
<item>Euro-House</item>
<item>Euro-Techno</item>
<item>Eurodance</item>
<item>Fast Fusion</item>
<item>Folk</item>
<item>Folk-Rock</item>
<item>Folklore</item>
<item>Freestyle</item>
<item>Funk</item>
<item>Fusion</item>
<item>Game</item>
<item>Gangsta Rap</item>
<item>Goa</item>
<item>Gospel</item>
<item>Gothic</item>
<item>Gothic Rock</item>
<item>Grunge</item>
<item>Hard Rock</item>
<item>Hardcore</item>
<item>Heavy Metal</item>
<item>Hip-Hop</item>
<item>House</item>
<item>Humour</item>
<item>Indie</item>
<item>Industrial</item>
<item>Instrumental</item>
<item>Instrumental Pop</item>
<item>Instrumental Rock</item>
<item>Jazz</item>
<item>Jazz+Funk</item>
<item>JPop</item>
<item>Jungle</item>
<item>Latin</item>
<item>Lo-Fi</item>
<item>Meditative</item>
<item>Merengue</item>
<item>Metal</item>
<item>Musical</item>
<item>National Folk</item>
<item>Native American</item>
<item>Negerpunk</item>
<item>New Age</item>
<item>New Wave</item>
<item>Noise</item>
<item>Oldies</item>
<item>Opera</item>
<item>Other</item>
<item>Polka</item>
<item>Polsk Punk</item>
<item>Pop</item>
<item>Pop / Funk</item>
<item>Pop-Folk</item>
<item>Porn Groove</item>
<item>Power Ballad</item>
<item>Pranks</item>
<item>Primus</item>
<item>Progressive Rock</item>
<item>Psychedelic</item>
<item>Psychedelic Rock</item>
<item>Punk</item>
<item>Punk Rock</item>
<item>R&B</item>
<item>Rap</item>
<item>Rave</item>
<item>Reggae</item>
<item>Retro</item>
<item>Revival</item>
<item>Rhythmic Soul</item>
<item>Rock</item>
<item>Rock & Roll</item>
<item>Rock/Pop</item>
<item>Salsa</item>
<item>Samba</item>
<item>Satire</item>
<item>Showtunes</item>
<item>Ska</item>
<item>Slow Jam</item>
<item>Slow Rock</item>
<item>Sonata</item>
<item>Soul</item>
<item>Sound Clip</item>
<item>Soundtrack</item>
<item>Southern Rock</item>
<item>Space</item>
<item>Speech</item>
<item>Swing</item>
<item>Symphonic Rock</item>
<item>Symphony</item>
<item>Synthpop</item>
<item>Tango</item>
<item>Techno</item>
<item>Techno-Industrial</item>
<item>Terror</item>
<item>Thrash Metal</item>
<item>Top 40</item>
<item>Trailer</item>
<item>Trance</item>
<item>Tribal</item>
<item>Trip-Hop</item>
<item>Vocal</item>
</combobox>
</hbox>
<hbox>
<text>
<label>Titre : </label>
</text>
<entry>
<variable>mtitre</variable>
</entry>
</hbox>
<button ok></button>
</vbox>
</window>'
###### Récupérer la sortie standard de Gtkdialog
VARIABLES=`gtkdialog --program MAIN_DIALOG`
###### Créer les variables shell
eval $VARIABLES
###### Mise en majuscule de la première lettre de chaque variable (plus propre)
martiste=$(echo "$martiste" | sed 's/^./\u&/')
malbum=$(echo "$malbum" | sed 's/^./\u&/')
mgenre=$(echo "$mgenre" | sed 's/^./\u&/')
mtitre=$(echo "$mtitre" | sed 's/^./\u&/')
eyeD3 -a "$martiste" -A "$malbum" -t "$mtitre" -G "$mgenre" ~/MP3/conv/conv.mp3
}
fi
}
else
{
##### Tag trouvé sur Musicbrainz©
##### Définition des variables
mbartist=$(cat ~/MP3/conv/.PUID | grep "<table class=\"artisttitle\">" | sed -e 's/.*artist page">//g' | sed -e 's/<\/a.*//' | sed -e "s/'/'/g" | head -n1)
mbalbum=$(cat ~/MP3/conv/.PUID | grep "/release/" | sed -e 's/.*">//g' | sed -e 's/<\/a.*//' | sed -e "s/'/'/g" | head -n1)
mbtitre=$(cat ~/MP3/conv/.PUID | grep "/track/" | sed -e 's/.*">//g' | sed -e 's/<\/a.*//' | sed -e "s/'/'/g" | head -n1)
mbtrack=$(cat ~/MP3/conv/.PUID | grep "no\">" | sed -e 's/.*">//g' | sed -e 's/<\/t.*//' | sed -e "s/'/'/g" | head -n1)
##### Affichage des Tags trouvés
export MAIN_DIALOG='
<window title="tag trouvé sur Musicbrainz©" icon-name="help" resizable="false" window_position="1">
<vbox>
<hbox>
<frame Artiste : >
<text>
<label># '"$mbartist"'</label>
</text>
</frame>
</hbox>
<hbox>
<frame Album : >
<text>
<label># '"$mbalbum"'</label>
</text>
</frame>
</hbox>
<hbox>
<frame Titre : >
<text>
<label># '"$mbtitre"'</label>
</text>
</frame>
</hbox>
<hbox>
<frame Track : >
<text>
<label># '"$mbtrack"'</label>
</text>
</frame>
</hbox>
<hbox>
<frame Les tags de Musibrainz© sont conforme ?>
<button yes></button>
<button no></button>
</frame>
</hbox>
</vbox>
</window>'
###### Récupérer la sortie standard de Gtkdialog
VARIABLES=`gtkdialog --program MAIN_DIALOG`
###### Créer les variables shell
eval $VARIABLES
##### Vérification des Tags
if [ "$EXIT" = "Yes" ]; then
{
###### Tag conforme puis définition du Genre (pas donné par Musicbrainz©)
export MAIN_DIALOG='
<window title="Entrez le genre" icon-name="help" resizable="false" window_position="1">
<vbox>
<frame Entrez le genre>
<combobox>
<variable>mbgenre</variable>
<item>Blues</item>
<item>A Cappella</item>
<item>Acid</item>
<item>Acid Punk</item>
<item>Acoustic</item>
<item>Alternative</item>
<item>AlternRock</item>
<item>Ambient</item>
<item>Anime</item>
<item>Avantgarde</item>
<item>Ballad</item>
<item>Bass</item>
<item>Beat</item>
<item>Bebob</item>
<item>Big Band</item>
<item>Black Metal</item>
<item>Bluegrass</item>
<item>Booty Bass</item>
<item>BritPop</item>
<item>Cabaret</item>
<item>Celtic</item>
<item>Chamber Music</item>
<item>Chanson</item>
<item>Chorus</item>
<item>Christian Gangsta Rap</item>
<item>Christian Rap</item>
<item>Christian Rock</item>
<item>Classic Rock</item>
<item>Classical</item>
<item>Club</item>
<item>Club-House</item>
<item>Comedy</item>
<item>Contemporary Christian</item>
<item>Country</item>
<item>Crossover</item>
<item>Cult</item>
<item>Dance</item>
<item>Dance Hall</item>
<item>Darkwave</item>
<item>Death Metal</item>
<item>Disco</item>
<item>Dream</item>
<item>Drum & Bass</item>
<item>Drum Solo</item>
<item>Duet</item>
<item>Easy Listening</item>
<item>Electronic</item>
<item>Ethnic</item>
<item>Euro-House</item>
<item>Euro-Techno</item>
<item>Eurodance</item>
<item>Fast Fusion</item>
<item>Folk</item>
<item>Folk-Rock</item>
<item>Folklore</item>
<item>Freestyle</item>
<item>Funk</item>
<item>Fusion</item>
<item>Game</item>
<item>Gangsta Rap</item>
<item>Goa</item>
<item>Gospel</item>
<item>Gothic</item>
<item>Gothic Rock</item>
<item>Grunge</item>
<item>Hard Rock</item>
<item>Hardcore</item>
<item>Heavy Metal</item>
<item>Hip-Hop</item>
<item>House</item>
<item>Humour</item>
<item>Indie</item>
<item>Industrial</item>
<item>Instrumental</item>
<item>Instrumental Pop</item>
<item>Instrumental Rock</item>
<item>Jazz</item>
<item>Jazz+Funk</item>
<item>JPop</item>
<item>Jungle</item>
<item>Latin</item>
<item>Lo-Fi</item>
<item>Meditative</item>
<item>Merengue</item>
<item>Metal</item>
<item>Musical</item>
<item>National Folk</item>
<item>Native American</item>
<item>Negerpunk</item>
<item>New Age</item>
<item>New Wave</item>
<item>Noise</item>
<item>Oldies</item>
<item>Opera</item>
<item>Other</item>
<item>Polka</item>
<item>Polsk Punk</item>
<item>Pop</item>
<item>Pop / Funk</item>
<item>Pop-Folk</item>
<item>Porn Groove</item>
<item>Power Ballad</item>
<item>Pranks</item>
<item>Primus</item>
<item>Progressive Rock</item>
<item>Psychedelic</item>
<item>Psychedelic Rock</item>
<item>Punk</item>
<item>Punk Rock</item>
<item>R&B</item>
<item>Rap</item>
<item>Rave</item>
<item>Reggae</item>
<item>Retro</item>
<item>Revival</item>
<item>Rhythmic Soul</item>
<item>Rock</item>
<item>Rock & Roll</item>
<item>Rock/Pop</item>
<item>Salsa</item>
<item>Samba</item>
<item>Satire</item>
<item>Showtunes</item>
<item>Ska</item>
<item>Slow Jam</item>
<item>Slow Rock</item>
<item>Sonata</item>
<item>Soul</item>
<item>Sound Clip</item>
<item>Soundtrack</item>
<item>Southern Rock</item>
<item>Space</item>
<item>Speech</item>
<item>Swing</item>
<item>Symphonic Rock</item>
<item>Symphony</item>
<item>Synthpop</item>
<item>Tango</item>
<item>Techno</item>
<item>Techno-Industrial</item>
<item>Terror</item>
<item>Thrash Metal</item>
<item>Top 40</item>
<item>Trailer</item>
<item>Trance</item>
<item>Tribal</item>
<item>Trip-Hop</item>
<item>Vocal</item>
</combobox>
</frame>
<button ok></button>
</vbox>
</window>'
###### Récupérer la sortie standard de Gtkdialog
VARIABLES=`gtkdialog --program MAIN_DIALOG`
###### Créer les variables shell
eval $VARIABLES
eyeD3 -a "$mbartist" -A "$mbalbum" -t "$mbtitre" -G "$mbgenre" -n "$mbtrack" ~/MP3/conv/conv.mp3
}
elif [ "$EXIT" = "No" ]; then
{
###### Tag non conforme
export MAIN_DIALOG='
<window title="Tag non trouvé" icon-name="dialog-info" resizable="false" window_position="1">
<vbox>
<frame Info :>
<text>
<label>Tag non trouvé sur Musicbrainz©. Que faire rentrez les tag :</label>
</text>
</frame>
<hbox>
<button>
<input file icon="emblem-draft">"Manuellement"</input><label>Manuellement</label>
</button>
<button>
<input file icon="emblem-web">Via la CDDB</input><label>Via la base de données CDDB</label>
</button>
</hbox>
</vbox>
</window>
'
# Récupérer la sortie standard de Gtkdialog
VARIABLES=`gtkdialog --program MAIN_DIALOG`
# Créer les variables shell
eval $VARIABLES
if [ "$EXIT" = "Via la base de données CDDB" ]; then
{
###### Tagage avec lltag (ID3 v1)
label="Entrer le nom de l'artiste ou l'album puis laissez vous guider:"
export MAIN_DIALOG='
<window title="Recherche CDDB" icon-name="help" resizable="false" window_position="1">
<vbox>
<text>
<label>'"$label"'</label>
</text>
<entry>
<variable>cddb</variable>
</entry>
<button ok></button>
</vbox>
</window>'
###### Récupérer la sortie standard de Gtkdialog
VARIABLES=`gtkdialog --program MAIN_DIALOG`
###### Créer les variables shell
eval $VARIABLES
###### Lancement de lltag dans un terminal
gnome-terminal -x lltag --cddb-query "$cddb" ~/MP3/conv/conv.mp3
use_lltag="1"
}
elif [ "$EXIT" = "Manuellement" ]; then
{
###### Tagage manuel
export MAIN_DIALOG='
<window title="Rentré les tags manuellement" icon-name="help" resizable="false" window_position="1">
<vbox>
<hbox>
<text>
<label>Artiste :</label>
</text>
<entry>
<variable>martiste</variable>
</entry>
</hbox>
<hbox>
<text>
<label>Album : </label>
</text>
<entry>
<variable>malbum</variable>
</entry>
</hbox>
<hbox>
<text>
<label>Genre : </label>
</text>
<combobox>
<variable>mgenre</variable>
<item>Blues</item>
<item>A Cappella</item>
<item>Acid</item>
<item>Acid Punk</item>
<item>Acoustic</item>
<item>Alternative</item>
<item>AlternRock</item>
<item>Ambient</item>
<item>Anime</item>
<item>Avantgarde</item>
<item>Ballad</item>
<item>Bass</item>
<item>Beat</item>
<item>Bebob</item>
<item>Big Band</item>
<item>Black Metal</item>
<item>Bluegrass</item>
<item>Booty Bass</item>
<item>BritPop</item>
<item>Cabaret</item>
<item>Celtic</item>
<item>Chamber Music</item>
<item>Chanson</item>
<item>Chorus</item>
<item>Christian Gangsta Rap</item>
<item>Christian Rap</item>
<item>Christian Rock</item>
<item>Classic Rock</item>
<item>Classical</item>
<item>Club</item>
<item>Club-House</item>
<item>Comedy</item>
<item>Contemporary Christian</item>
<item>Country</item>
<item>Crossover</item>
<item>Cult</item>
<item>Dance</item>
<item>Dance Hall</item>
<item>Darkwave</item>
<item>Death Metal</item>
<item>Disco</item>
<item>Dream</item>
<item>Drum & Bass</item>
<item>Drum Solo</item>
<item>Duet</item>
<item>Easy Listening</item>
<item>Electronic</item>
<item>Ethnic</item>
<item>Euro-House</item>
<item>Euro-Techno</item>
<item>Eurodance</item>
<item>Fast Fusion</item>
<item>Folk</item>
<item>Folk-Rock</item>
<item>Folklore</item>
<item>Freestyle</item>
<item>Funk</item>
<item>Fusion</item>
<item>Game</item>
<item>Gangsta Rap</item>
<item>Goa</item>
<item>Gospel</item>
<item>Gothic</item>
<item>Gothic Rock</item>
<item>Grunge</item>
<item>Hard Rock</item>
<item>Hardcore</item>
<item>Heavy Metal</item>
<item>Hip-Hop</item>
<item>House</item>
<item>Humour</item>
<item>Indie</item>
<item>Industrial</item>
<item>Instrumental</item>
<item>Instrumental Pop</item>
<item>Instrumental Rock</item>
<item>Jazz</item>
<item>Jazz+Funk</item>
<item>JPop</item>
<item>Jungle</item>
<item>Latin</item>
<item>Lo-Fi</item>
<item>Meditative</item>
<item>Merengue</item>
<item>Metal</item>
<item>Musical</item>
<item>National Folk</item>
<item>Native American</item>
<item>Negerpunk</item>
<item>New Age</item>
<item>New Wave</item>
<item>Noise</item>
<item>Oldies</item>
<item>Opera</item>
<item>Other</item>
<item>Polka</item>
<item>Polsk Punk</item>
<item>Pop</item>
<item>Pop / Funk</item>
<item>Pop-Folk</item>
<item>Porn Groove</item>
<item>Power Ballad</item>
<item>Pranks</item>
<item>Primus</item>
<item>Progressive Rock</item>
<item>Psychedelic</item>
<item>Psychedelic Rock</item>
<item>Punk</item>
<item>Punk Rock</item>
<item>R&B</item>
<item>Rap</item>
<item>Rave</item>
<item>Reggae</item>
<item>Retro</item>
<item>Revival</item>
<item>Rhythmic Soul</item>
<item>Rock</item>
<item>Rock & Roll</item>
<item>Rock/Pop</item>
<item>Salsa</item>
<item>Samba</item>
<item>Satire</item>
<item>Showtunes</item>
<item>Ska</item>
<item>Slow Jam</item>
<item>Slow Rock</item>
<item>Sonata</item>
<item>Soul</item>
<item>Sound Clip</item>
<item>Soundtrack</item>
<item>Southern Rock</item>
<item>Space</item>
<item>Speech</item>
<item>Swing</item>
<item>Symphonic Rock</item>
<item>Symphony</item>
<item>Synthpop</item>
<item>Tango</item>
<item>Techno</item>
<item>Techno-Industrial</item>
<item>Terror</item>
<item>Thrash Metal</item>
<item>Top 40</item>
<item>Trailer</item>
<item>Trance</item>
<item>Tribal</item>
<item>Trip-Hop</item>
<item>Vocal</item>
</combobox>
</hbox>
<hbox>
<text>
<label>Titre : </label>
</text>
<entry>
<variable>mtitre</variable>
</entry>
</hbox>
<button ok></button>
</vbox>
</window>'
###### Récupérer la sortie standard de Gtkdialog
VARIABLES=`gtkdialog --program MAIN_DIALOG`
###### Créer les variables shell
eval $VARIABLES
###### Mise en majuscule de la première lettre de chaque variable (plus propre)
martiste=$(echo "$martiste" | sed 's/^./\u&/')
malbum=$(echo "$malbum" | sed 's/^./\u&/')
mgenre=$(echo "$mgenre" | sed 's/^./\u&/')
mtitre=$(echo "$mtitre" | sed 's/^./\u&/')
eyeD3 -a "$martiste" -A "$malbum" -t "$mtitre" -G "$mgenre" ~/MP3/conv/conv.mp3
}
fi
}
fi
}
fi
export MAIN_DIALOG='
<window title="Insertion terminé" icon-name="dialog-info" resizable="false" window_position="1">
<vbox>
<frame Info :>
<text>
<label>Insertion des Tag (ID3 v2.4) terminé !</label>
</text>
</frame>
<hbox>
<button ok></button>
</hbox>
</vbox>
</window>
'
gtkdialog --program=MAIN_DIALOG
### Supression du fichier .PUID
rm -f ~/MP3/conv/.PUID
### Extraction des variables (ruse siou)
eyeD3 --rename="%Asupr1%asupr2%t" ~/MP3/conv/conv.mp3
### Définition des variables
ARTIST=$(ls -lt ~/MP3/conv/*.mp3 | head -n1 | sed -e 's/.*MP3\/conv\///' | sed -e 's/supr1.*//')
ALBUM=$(ls -lt ~/MP3/conv/*.mp3 | head -n1 | sed -e 's/.*MP3\/conv\///' | sed -e 's/.*supr1//' | sed -e 's/supr2.*//')
TITRE=$(ls -lt ~/MP3/conv/*.mp3 | head -n1 | sed -e 's/.*MP3\/conv\///' | sed -e 's/.*supr2//' | sed -e 's/.mp3.*//')
MOVE=$(ls -lt ~/MP3/conv/*.mp3 | head -n1 | sed -e 's/.*MP3\/conv\///')
### Si on a tag avec la CDDB les variables seront modifiées afin de garder les accents correctement
if [ "$use_lltag" = "1" ];then
{
ARTIST=$(lltag -S ~/MP3/conv/"$MOVE" | grep "ARTIST" | sed -e 's/.*=//')
ALBUM=$(lltag -S ~/MP3/conv/"$MOVE" | grep "ALBUM" | sed -e 's/.*=//')
TITRE=$(lltag -S ~/MP3/conv/"$MOVE" | grep "TITLE" | sed -e 's/.*=//')
}
fi
### Création des dossiers /artist/album
if [ "$rang2" = "" ]; then
rang2=$rang3
rang3=$( echo "")
fi
if [ "$rang3" = "" ]; then
rang1=$rang2
rang2=$rang3
rang3=$( echo "")
fi
if [ "$rang1" = "Artiste" ]; then
if [ "$rang2" = "Artiste" ]; then
if [ "$rang3" = "Artiste" ]; then
bidule="$dossier/$ARTIST/$ARTIST/$ARTIST/"
echo "$bidule"
mkdir -p "$dossier"/"$ARTIST"/"$ARTIST"/"$ARTIST"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ARTIST"/"$ARTIST"/"$TITRE".mp3
elif [ "$rang3" = "Album" ]; then
mkdir -p "$dossier"/"$ARTIST"/"$ARTIST"/"$ALBUM"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ARTIST"/"$ALBUM"/"$TITRE".mp3
elif [ "$rang3" = "Genre" ]; then
mkdir -p "$dossier"/"$ARTIST"/"$ARTIST"/"$GENRE"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ARTIST"/"$GENRE"/"$TITRE".mp3
fi
elif [ "$rang2" = "Album" ]; then
if [ "$rang3" = "Artiste" ]; then
mkdir -p "$dossier"/"$ARTIST"/"$ALBUM"/"$ARTIST"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ALBUM"/"$ARTIST"/"$TITRE".mp3
elif [ "$rang3" = "Album" ]; then
mkdir -p "$dossier"/"$ARTIST"/"$ALBUM"/"$ALBUM"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ALBUM"/"$ALBUM"/"$TITRE".mp3
elif [ "$rang3" = "Genre" ]; then
mkdir -p "$dossier"/"$ARTIST"/"$ALBUM"/"$GENRE"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ALBUM"/"$GENRE"/"$TITRE".mp3
fi
elif [ "$rang2" = "Genre" ]; then
if [ "$rang3" = "Artiste" ]; then
mkdir -p "$dossier"/"$ARTIST"/"$GENRE"/"$ARTIST"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ARTIST"/"$GENRE"/"$ARTIST"/"$TITRE".mp3
elif [ "$rang3" = "Album" ]; then
mkdir -p "$dossier"/"$ARTIST"/"$GENRE"/"$ALBUM"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ARTIST"/"$GENRE"/"$ALBUM"/"$TITRE".mp3
elif [ "$rang3" = "Genre" ]; then
mkdir -p "$dossier"/"$ARTIST"/"$GENRE"/"$GENRE"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ARTIST"/"$GENRE"/"$GENRE"/"$TITRE".mp3
fi
fi
elif [ "$rang1" = "Album" ]; then
if [ "$rang2" = "Artiste" ]; then
if [ "$rang3" = "Artiste" ]; then
mkdir -p "$dossier"/"$ALBUM"/"$ARTIST"/"$ARTIST"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ARTIST"/"$ARTIST"//"$TITRE".mp3
elif [ "$rang3" = "Album" ]; then
mkdir -p "$dossier"/"$ALBUM"/"$ARTIST"/"$ALBUM"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ARTIST"/"$ALBUM"/"$TITRE".mp3
elif [ "$rang3" = "Genre" ]; then
mkdir -p "$dossier"/"$ALBUM"/"$ARTIST"/"$GENRE"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ARTIST"/"$GENRE"/"$TITRE".mp3
fi
elif [ "$rang2" = "Album" ]; then
if [ "$rang3" = "Artiste" ]; then
mkdir -p "$dossier"/"$ALBUM"/"$ALBUM"/"$ARTIST"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ALBUM"/"$ARTIST"/"$TITRE".mp3
elif [ "$rang3" = "Album" ]; then
mkdir -p "$dossier"/"$ALBUM"/"$ALBUM"/"$ALBUM"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ALBUM"/"$ALBUM"/"$TITRE".mp3
elif [ "$rang3" = "Genre" ]; then
mkdir -p "$dossier"/"$ALBUM"/"$ALBUM"/"$GENRE"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ALBUM"/"$GENRE"/"$TITRE".mp3
fi
elif [ "$rang2" = "Genre" ]; then
if [ "$rang3" = "Artiste" ]; then
mkdir -p "$dossier"/"$ALBUM"/"$GENRE"/"$ARTIST"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ALBUM"/"$GENRE"/"$ARTIST"/"$TITRE".mp3
elif [ "$rang3" = "Album" ]; then
mkdir -p "$dossier"/"$ALBUM"/"$GENRE"/"$ALBUM"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ALBUM"/"$GENRE"/"$ALBUM"/"$TITRE".mp3
elif [ "$rang3" = "Genre" ]; then
mkdir -p "$dossier"/"$ALBUM"/"$GENRE"/"$GENRE"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ALBUM"/"$GENRE"/"$GENRE"/"$TITRE".mp3
fi
fi
elif [ "$rang1" = "Genre" ]; then
if [ "$rang2" = "Artiste" ]; then
if [ "$rang3" = "Artiste" ]; then
mkdir -p "$dossier"/"$GENRE"/"$ARTISTE"/"$ARTISTE"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$GENRE"/"$ARTISTE"/"$ARTISTE"/"$TITRE".mp3
elif [ "$rang3" = "Album" ]; then
mkdir -p "$dossier"/"$GENRE"/"$ARTISTE"/"$ALBUM"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$GENRE"/"$ARTISTE"/"$ALBUM"/"$TITRE".mp3
elif [ "$rang3" = "Genre" ]; then
mkdir -p "$dossier"/"$GENRE"/"$ARTISTE"/"$GENRE"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$GENRE"/"$ARTISTE"/"$GENRE"/"$TITRE".mp3
fi
elif [ "$rang2" = "Album" ]; then
if [ "$rang3" = "Artiste" ]; then
mkdir -p "$dossier"/"$GENRE"/"$ALBUM"/"$ARTISTE"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$GENRE"/"$ALBUM"/"$ARTISTE"/"$TITRE".mp3
elif [ "$rang3" = "Album" ]; then
mkdir -p "$dossier"/"$GENRE"/"$ALBUM"/"$ALBUM"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$GENRE"/"$ALBUM"/"$ALBUM"/"$TITRE".mp3
elif [ "$rang3" = "Genre" ]; then
mkdir -p "$dossier"/"$GENRE"/"$ALBUM"/"$GENRE"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$GENRE"/"$ALBUM"/"$GENRE"/"$TITRE".mp3
fi
elif [ "$rang2" = "Genre" ]; then
if [ "$rang3" = "Artiste" ]; then
mkdir -p "$dossier"/"$GENRE"/"$GENRE"/"$ARTIST"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$GENRE"/"$GENRE"/"$ARTIST"/"$TITRE".mp3
elif [ "$rang3" = "Album" ]; then
mkdir -p "$dossier"/"$GENRE"/"$GENRE"/"$ALBUM"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$GENRE"/"$GENRE"/"$ALBUM"/"$TITRE".mp3
elif [ "$rang3" = "Genre" ]; then
mkdir -p "$dossier"/"$GENRE"/"$GENRE"/"$GENRE"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$GENRE"/"$GENRE"/"$GENRE"/"$TITRE".mp3
fi
fi
fi
#mkdir -p ~/MP3/"$ARTIST"/"$ALBUM"/
### Déplacement du mp3 dans le dossier /$artist/$album
#mv ~/MP3/conv/"$MOVE" ~/MP3/"$ARTIST"/"$ALBUM"/"$TITRE".mp3
export MAIN_DIALOG='
<window title="Programme terminé" icon-name="redo" resizable="false" window_position="1">
<vbox>
<frame Info :>
<text>
<label>Toute les opérations ont été effectuer avec succès la musique a été rangée dans :</label>
</text>
<text>
<label>'"$HOME"'/MP3/'"$ARTIST"'/'"$ALBUM"'/'"$TITRE"'.mp3</label>
</text>
</frame>
<hbox>
<button ok></button>
</hbox>
</vbox>
</window>
'
gtkdialog --program=MAIN_DIALOG
}
else
{
export MAIN_DIALOG='
<window title="Erreur" icon-name="error" resizable="false" window_position="1">
<vbox>
<frame Info :>
<text>
<label>Toute les opérations ont été effectuer avec succès la musique a été rangée dans :</label>
</text>
<text>
<label>'"$HOME"'/MP3/'"$ARTIST"'/'"$ALBUM"'/'"$TITRE"'.mp3</label>
</text>
</frame>
<hbox>
<button ok></button>
</hbox>
</vbox>
</window>
'
gtkdialog --program=MAIN_DIALOG
}
fi
}
fi
else
configuration
fi
exit 0