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.

#151 Le 17/01/2009, à 01:30

re06011988

Re : [Aide] Script qui télécharge convertie tag et range les mp3

j'ai compris (peut etre lltag) si il y a déja un terminal d'ouvert gnome-terminal sa ne marche pas sinon il attend ...

Pas bête pour la config

bon allé bonne nuit les jeune moi vais dodo

Hors ligne

#152 Le 17/01/2009, à 01:32

syubuntu

Re : [Aide] Script qui télécharge convertie tag et range les mp3

alors faudra essayé avec xterm.
bonne nuit.
++


Arch[gnu/]linuxiens

Hors ligne

#153 Le 17/01/2009, à 16:12

rom_185

Re : [Aide] Script qui télécharge convertie tag et range les mp3

Bonjour, j'ai lancé le script mais deezaster ne fonctionne pas, voila le retour du terminal lors de l'installation :

copie des fichiers deezaster genpuid© mipcore© dans /usr/bin
cp: ne peut évaluer `deezaster': Aucun fichier ou dossier de ce type
cp: ne peut évaluer `genpuid': Aucun fichier ou dossier de ce type
cp: ne peut évaluer `mipcore': Aucun fichier ou dossier de ce type

Done

Installation des paquets nécessaire
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Aucune version du paquet w32codecs n'est disponible, mais il existe dans la base
de données. Cela signifie en général que le paquet est manquant, qu'il est devenu obsolète
ou qu'il n'est disponible que sur une autre source
E: Aucun paquet ne correspond au paquet w32codecs

Pour w32codecs le problème provient surement du fait que je suis en x64, j'ai donc installé w64codecs mais cela ne corrige pas le problème.

Bravo quand même pour ce script smile !


BOINC, ou les grandes énigmes de la science résolues en 2 temps 3 calculs :D
"I reject your reality and substitue my own" – Adam Savage

Hors ligne

#154 Le 17/01/2009, à 16:16

syubuntu

Re : [Aide] Script qui télécharge convertie tag et range les mp3

tu télécharges l'archive, tu l'extrais, puis dans un terminal tu te rends dans le dossier deezasteri
et tu tapes

./install

et ça marche obligatoirement plus que les 3 fichiers qu'il ne trouve pas sont dans ce même dossier.

edit : bon sinon je m'occupe du fichier de config si tu veux. j'ai déjà commencé l'ébauche. Et je vais voir pour rendre "configurable" en même temps le classement que le script effectue et le nom qu'aura le fichier...

Dernière modification par syubuntu (Le 17/01/2009, à 16:20)


Arch[gnu/]linuxiens

Hors ligne

#155 Le 17/01/2009, à 16:27

rom_185

Re : [Aide] Script qui télécharge convertie tag et range les mp3

Merci, la copie des fichiers à bien marché. Mais toujours impossible de le lancer... hmm


BOINC, ou les grandes énigmes de la science résolues en 2 temps 3 calculs :D
"I reject your reality and substitue my own" – Adam Savage

Hors ligne

#156 Le 17/01/2009, à 16:31

re06011988

Re : [Aide] Script qui télécharge convertie tag et range les mp3

@rom185

quand tu tape deezaster dans un terminal il en resort quoi comme erreur

@syubuntu

ok no probleme moi me penche sur les bug

Hors ligne

#157 Le 17/01/2009, à 16:58

syubuntu

Re : [Aide] Script qui télécharge convertie tag et range les mp3

oki.
L'interface graphique je ne la maitrise pas vraiment donc faudra rajouter un bouton configuration sur la première fenêtre qui s'ouvre pour refaire la configuration.ce bouton appelle soit une fonction soit un autre script comme tu préfères (ou sais faire).Le plus propre serais une fonction configuration seulement gtkdialog me fait une erreur dans ce cas la(il ne connait pas configuration).donc si tu sais comment faire ben je t'en pris smile (tu n'as qu'a faire une fonction configuration qui fait juste un echo "en dev" et donc le fameux bouton vers cet fonction et  on rajoutera ce que j'ai fait.ou alors je finis je te passe et tu vois comme tu l'intègres...).

edit : faudra que tu rajoutes

else 
   exit 0

un peu partout avec avant le exit 0 un nettoyage si il y a besoin selon les endroits.ça permet de sortir complètement du programme si on appuie sur  le bouton de sortie du cadre de la fenêtre fenêtre

Dernière modification par syubuntu (Le 17/01/2009, à 17:13)


Arch[gnu/]linuxiens

Hors ligne

#158 Le 17/01/2009, à 19:16

syubuntu

Re : [Aide] Script qui télécharge convertie tag et range les mp3

j'ai pas compris comment ça marche avec musicbrainz :

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 ta...

si verif est égal à PUID ce n'est pas justement que les tags sont trouvé?


Arch[gnu/]linuxiens

Hors ligne

#159 Le 17/01/2009, à 22:09

re06011988

Re : [Aide] Script qui télécharge convertie tag et range les mp3

oui car en faite c'est super simple:

1 je genere un PUID
2 je télécharge les source de la page html Music brainz
3 je sélectionne une ligne particuliere pour le test et si dans cette ligne des source il y a ke le mots PUID c'est qu'il na pas trouver car si trouvai il n'y aurais pas sa smile

envoi moi ce que tu as fait pour la  config et je l'integrerais mais je ne sortirais la 1.8 ebuger et améliorer que quand j'aurais des image corect et un nouveau comme dit précedament pour respect l'acord réaliser avec les moderateur du forum jeudi

Edit : tu as juste a regarder separement la page de musicbrainz et la ligne de $verif dans un term

Edit 2 : xterm evite le bug de lltag je lit la doc pour que sa sois plus jolie

Dernière modification par re06011988 (Le 18/01/2009, à 00:00)

Hors ligne

#160 Le 18/01/2009, à 00:06

rom_185

Re : [Aide] Script qui télécharge convertie tag et range les mp3

@rom185

quand tu tape deezaster dans un terminal il en resort quoi comme erreur

Voila ce qu'il dit :

romain@ubuntu:~$ deezaster
/usr/bin/deezaster: 88: gtkdialog: not found
/usr/bin/deezaster: 188: gtkdialog: not found

BOINC, ou les grandes énigmes de la science résolues en 2 temps 3 calculs :D
"I reject your reality and substitue my own" – Adam Savage

Hors ligne

#161 Le 18/01/2009, à 00:22

syubuntu

Re : [Aide] Script qui télécharge convertie tag et range les mp3

pour l'erreur c'est que la fin de l'install n'a pas été faite à cause de l'erreur
fait

sudo apt-get install -y  ffmpeg mplayer lltag mp3info eyed3 gtkdialog

j'ai pas fini j'étais partit dans une mise en fonction

#! /bin/bash
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">~/.deezaster/config
			echo "$FILE_DIRECTORY">>~/.deezaster/config
			echo -e "$rang1\n$rang2\n$rang3" >>~/.deezaster/config
		else 
			configuration
			exit 0
		fi
		elif [ "$EXIT" = "cancel" ] ; then 
			exit 0
		else 
			exit 0
	fi
}

tagman(){
	###### 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	
}

tagcddb(){
###### 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"
}

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 &
		}
		elif [ "$search" = "Fichier déjà en cours de chargement" ]; then
		{
			continue 2>/dev/null &
		}
		else 
			exit 0
		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
	}
	else exit 0
	fi
}

existence(){
	
	 if [ -e "$file" ]; then
    {
        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ébuter</label>
      </text>
      <text>
        <label>Cette étape peut prendre plus ou moins de temps selon la durée de la chanson, une fenêtre apparaitra 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/
        cp $file /tmp/conv/conv.flv
        ### Conversion FLV->MP3
        mplayer -dumpaudio -dumpfile /tmp/conv/conv.mp3 /tmp/conv/conv.flv
        ### supression du flv
        rm -f /tmp/conv/conv.flv
        ### Tag
            #### Génération du PUID du mp3
            PUID=$(genpuid $key /tmp/conv/conv.mp3 | grep " puid: " | sed -e 's/.*puid: //')
            #### Récupération des tags avec Musicbrainz© 
            wget -O /tmp/conv/.PUID http://musicbrainz.org/show/puid/?puid=$PUID
            #### Vérification des tags
            verif=$(cat /tmp/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, rentrer 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
                {
                    cddbtag
                }
                elif [ "$EXIT" = "Manuellement" ]; then
                {
                    tagman
                }
                fi 
            }
            else
            {
                ##### Tag trouvé sur Musicbrainz©
                ##### Définition des variables
                mbartist=$(cat /tmp/conv/.PUID | grep "<table class=\"artisttitle\">" | sed -e 's/.*artist page">//g' | sed -e 's/<\/a.*//' | sed -e "s/'/'/g" | head -n1)
                mbalbum=$(cat /tmp/conv/.PUID | grep "/release/" | sed -e 's/.*">//g' | sed -e 's/<\/a.*//' | sed -e "s/'/'/g" | head -n1)
                mbtitre=$(cat /tmp/conv/.PUID | grep "/track/" | sed -e 's/.*">//g' | sed -e 's/<\/a.*//' | sed -e "s/'/'/g" | head -n1)
                mbtrack=$(cat /tmp/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 conformes ?>
        <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" /tmp/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, rentrer 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
                    {
                        cddbtag
                    }
                    elif [ "$EXIT" = "Manuellement" ]; then
                    {
                        tagman
                    }
                    fi
                }
                fi
            }
            fi
        export MAIN_DIALOG='
<window title="Insertion terminée" icon-name="dialog-info" resizable="false" window_position="1">
  <vbox>
    <frame Info :>
      <text>
        <label>Insertion des Tags (ID3 v2.4) terminée !</label>
      </text>
    </frame>
    <hbox>
      <button ok></button>
    </hbox>
  </vbox>
</window>
'
        gtkdialog --program=MAIN_DIALOG
        ### Supression du fichier .PUID
        rm -f /tmp/conv/.PUID
        ### Extraction des variables (ruse siou)
        eyeD3 --rename="%Asupr1%asupr2%t" /tmp/conv/conv.mp3
        ### Définition des variables
        ARTIST=$(ls -lt /tmp/conv/*.mp3 | head -n1 | sed -e 's/.*tmp\/conv\///' | sed -e 's/supr1.*//')
        ALBUM=$(ls -lt /tmp/conv/*.mp3 | head -n1 | sed -e 's/.*tmp\/conv\///' | sed -e 's/.*supr1//' | sed -e 's/supr2.*//')
        TITRE=$(ls -lt /tmp/conv/*.mp3 | head -n1 | sed -e 's/.*tmp\/conv\///' | sed -e 's/.*supr2//' | sed -e 's/.mp3.*//')
        MOVE=$(ls -lt /tmp/conv/*.mp3 | head -n1 | sed -e 's/.*tmp\/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 /tmp/conv/"$MOVE" | grep "ARTIST" | sed -e 's/.*=//')
            ALBUM=$(lltag -S /tmp/conv/"$MOVE" | grep "ALBUM" | sed -e 's/.*=//')
            TITRE=$(lltag -S /tmp/conv/"$MOVE" | grep "TITLE" | sed -e 's/.*=//')
        }
        fi
        ### Création des dossiers /artist/album
        mkdir -p "$dossier"/"$ARTIST"/"$ALBUM"/
        ### Déplacement du mp3 dans le dossier /$artist/$album
        mv /tmp/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ALBUM"/"$TITRE".mp3
        export MAIN_DIALOG='
<window title="Programme terminé" icon-name="redo" resizable="false" window_position="1">
  <vbox>
    <frame Info :>
      <text>
        <label>Toutes les opérations ont été effectuées avec succès, la musique a été rangée dans :</label>
      </text>
      <text>
        <label>'"$HOME"'/'"$dossier"'/'"$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>Toutes les opérations ont été effectuées avec succès, la musique a été rangée dans :</label>
      </text>
      <text>
        <label>'"$HOME"'/'"$dossier"'/'"$ARTIST"'/'"$ALBUM"'/'"$TITRE"'.mp3</label>
      </text>
    </frame>
    <hbox>
      <button ok></button>
    </hbox>
  </vbox>
</window>
'
        gtkdialog --program=MAIN_DIALOG
    }
    fi	
}

debut(){    ###fonction sans problème qui appelle existence
	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/
	if [ "$EXIT" = "OK" ]; then
		file=$(ls -lt /tmp/Flash* | cut -d " " -f8 | head -n1)
		existence
	else exit 0
	fi
}

if [ -r ~/.deezaster/config ]; then
dossier=$(cat ~/.deezaster/config)
else 
	configuration
fi
recherche
debut

j'ai pas fait encore tout ce que je pensais.le fichier de config généré  n'est pas le bon, pas encore eu le temps de changer

Dernière modification par syubuntu (Le 18/01/2009, à 00:49)


Arch[gnu/]linuxiens

Hors ligne

#162 Le 18/01/2009, à 00:36

MCMic

Re : [Aide] Script qui télécharge convertie tag et range les mp3

j'ai un problème, avec une chanson dont le nom pris dans cddb contient un "-", il se transforme en slash mystérieusement et ça fait foirer le mv :

mv: ne peut déplacer `/tmp/conv/Varioussupr1Albumsupr2ti - tre.mp3' vers `/home/mcmic/Musique/Various/Album/ti / tre.mp3': Aucun fichier ou dossier de ce type

Tu saurais pourquoi? (moi je comprends rien aux lignes pleines de "sed" ...

Hors ligne

#163 Le 18/01/2009, à 00:46

syubuntu

Re : [Aide] Script qui télécharge convertie tag et range les mp3

a non le sed je ne peux pas t'aider. dsl. ça fait 2h que j'essaye de m'en servir et c'est un peu spécial...

Dernière modification par syubuntu (Le 18/01/2009, à 01:07)


Arch[gnu/]linuxiens

Hors ligne

#164 Le 18/01/2009, à 01:44

re06011988

Re : [Aide] Script qui télécharge convertie tag et range les mp3

@Rom

Il te manque le paquet gtkdialog c'est ce qui cré la version grafique de la bête

@MCMIc

j'ai pas souvenir d'utuliser sed pour modifier un - en /

@syubuntu

Sed est un outil trés puissant qui couplet avec grep de simplifie la vie pour traiter des fichier ou des string il est bcp utiliser dans mon script

en gros la syntaxe c'est:

sed -e 's/Ce_que_tu_remplace/Par_quoi_tu_le_remplace/Comportement (g = redondance)'

sinon j'ai prix en compte vaux demande et bug et j'ai fait sa je ne mets pas en ligne cette version pour les motif cité plus haut

mais bon un screen du prog en train de tourné

evolutionfk8.th.png

Hors ligne

#165 Le 18/01/2009, à 02:16

syubuntu

Re : [Aide] Script qui télécharge convertie tag et range les mp3

lol même un message pour moi:D. j'y suis presque.
ça me parait très bien tous cela
et il y la petite barre de chargement ça c'est cool.

voila pour le début(l'endroit ou se sera stocké et le classement)

maintenant je voudrai rajouter pour le nom du fichier pour pouvoir choisir ça :
artiste - titre.mp3
track - titre.mp3
track.artiste.mp3
....

#! /bin/bash
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">~/.deezaster/config
			echo "$FILE_DIRECTORY">>~/.deezaster/config
			echo -e "rang1\n$rang1\nrang2\n$rang2\nrang3\n$rang3" >>~/.deezaster/config
		else 
			configuration
			exit 0
		fi
		elif [ "$EXIT" = "cancel" ] ; then 
			exit 0
		else 
			exit 0
	fi
}

tagman(){
	###### 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	
}

tagcddb(){
###### 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"
}

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 &
		}
		elif [ "$search" = "Fichier déjà en cours de chargement" ]; then
		{
			continue 2>/dev/null &
		}
		else 
			exit 0
		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
	}
	else exit 0
	fi
}

existence(){
	
	 if [ -e "$file" ]; then
    {
        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ébuter</label>
			  </text>
			  <text>
				<label>Cette étape peut prendre plus ou moins de temps selon la durée de la chanson, une fenêtre apparaitra 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/
        cp $file /tmp/conv/conv.flv
        ### Conversion FLV->MP3
        mplayer -dumpaudio -dumpfile /tmp/conv/conv.mp3 /tmp/conv/conv.flv
        ### supression du flv
        rm -f /tmp/conv/conv.flv
        ### Tag
            #### Génération du PUID du mp3
            PUID=$(genpuid $key /tmp/conv/conv.mp3 | grep " puid: " | sed -e 's/.*puid: //')
            #### Récupération des tags avec Musicbrainz© 
            wget -O /tmp/conv/.PUID http://musicbrainz.org/show/puid/?puid=$PUID
            #### Vérification des tags
            verif=$(cat /tmp/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, rentrer 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
                {
                    cddbtag
                }
                elif [ "$EXIT" = "Manuellement" ]; then
                {
                    tagman
                }
                fi 
            }
            else
            {
                ##### Tag trouvé sur Musicbrainz©
                ##### Définition des variables
                mbartist=$(cat /tmp/conv/.PUID | grep "<table class=\"artisttitle\">" | sed -e 's/.*artist page">//g' | sed -e 's/<\/a.*//' | sed -e "s/'/'/g" | head -n1)
                mbalbum=$(cat /tmp/conv/.PUID | grep "/release/" | sed -e 's/.*">//g' | sed -e 's/<\/a.*//' | sed -e "s/'/'/g" | head -n1)
                mbtitre=$(cat /tmp/conv/.PUID | grep "/track/" | sed -e 's/.*">//g' | sed -e 's/<\/a.*//' | sed -e "s/'/'/g" | head -n1)
                mbtrack=$(cat /tmp/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 conformes ?>
        <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" /tmp/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, rentrer 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
                    {
                        cddbtag
                    }
                    elif [ "$EXIT" = "Manuellement" ]; then
                    {
                        tagman
                    }
                    fi
                }
                fi
            }
            fi
        export MAIN_DIALOG='
<window title="Insertion terminée" icon-name="dialog-info" resizable="false" window_position="1">
  <vbox>
    <frame Info :>
      <text>
        <label>Insertion des Tags (ID3 v2.4) terminée !</label>
      </text>
    </frame>
    <hbox>
      <button ok></button>
    </hbox>
  </vbox>
</window>
'
        gtkdialog --program=MAIN_DIALOG
        ### Supression du fichier .PUID
        rm -f /tmp/conv/.PUID
        ### Extraction des variables (ruse siou)
        eyeD3 --rename="%Asupr1%asupr2%t" /tmp/conv/conv.mp3
        ### Définition des variables
        ARTIST=$(ls -lt /tmp/conv/*.mp3 | head -n1 | sed -e 's/.*tmp\/conv\///' | sed -e 's/supr1.*//')
        ALBUM=$(ls -lt /tmp/conv/*.mp3 | head -n1 | sed -e 's/.*tmp\/conv\///' | sed -e 's/.*supr1//' | sed -e 's/supr2.*//')
        TITRE=$(ls -lt /tmp/conv/*.mp3 | head -n1 | sed -e 's/.*tmp\/conv\///' | sed -e 's/.*supr2//' | sed -e 's/.mp3.*//')
        MOVE=$(ls -lt /tmp/conv/*.mp3 | head -n1 | sed -e 's/.*tmp\/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 /tmp/conv/"$MOVE" | grep "ARTIST" | sed -e 's/.*=//')
            ALBUM=$(lltag -S /tmp/conv/"$MOVE" | grep "ALBUM" | sed -e 's/.*=//')
            TITRE=$(lltag -S /tmp/conv/"$MOVE" | grep "TITLE" | sed -e 's/.*=//')
        }
        fi 
        ### Création des dossiers /artist/album
        if [ "rang2" = ""]; then
        	rang2=$rang3
        	rang3=""
        fi
        if [ "rang3" = ""]; then
        	rang1=$rang2
        	rang2=$rang3
        	rang3=""
        fi
        if [ "rang1" = "Artiste"]; then
        	if [ "rang2" = "Artiste"]; then
        		if [ "rang3" = "Artiste"]; then
        			mkdir -p "$dossier"/"$ARTIST"/"$ARTIST"/"$ARTIST"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ARTIST"/"$ARTIST"/"$TITRE".mp3
        		elif [ "rang3" = "Album"]; then
        			mkdir -p "$dossier"/"$ARTIST"/"$ARTIST"/"$ALBUM"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ARTIST"/"$ALBUM"/"$TITRE".mp3
        		elif [ "rang3" = "Genre"]; then
        			mkdir -p "$dossier"/"$ARTIST"/"$ARTIST"/"$GENRE"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ARTIST"/"$GENRE"/"$TITRE".mp3
        		fi
        	elif [ "rang2" = "Album"]; then
       			if [ "rang3" = "Artiste"]; then
					mkdir -p "$dossier"/"$ARTIST"/"$ALBUM"/"$ARTIST"/
					mv /tmp/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ALBUM"/"$ARTIST"/"$TITRE".mp3
				elif [ "rang3" = "Album"]; then
        			mkdir -p "$dossier"/"$ARTIST"/"$ALBUM"/"$ALBUM"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ALBUM"/"$ALBUM"/"$TITRE".mp3
        		elif [ "rang3" = "Genre"]; then
        			mkdir -p "$dossier"/"$ARTIST"/"$ALBUM"/"$GENRE"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ALBUM"/"$GENRE"/"$TITRE".mp3
        		fi
        	elif [ "rang2" = "Genre"]; then
				if [ "rang3" = "Artiste"]; then
					mkdir -p "$dossier"/"$ARTIST"/"$GENRE"/"$ARTIST"/
					mv /tmp/conv/"$MOVE" "$dossier"/"$ARTIST"/"$GENRE"/"$ARTIST"/"$TITRE".mp3
				elif [ "rang3" = "Album"]; then
        			mkdir -p "$dossier"/"$ARTIST"/"$GENRE"/"$ALBUM"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$ARTIST"/"$GENRE"/"$ALBUM"/"$TITRE".mp3
        		elif [ "rang3" = "Genre"]; then
        			mkdir -p "$dossier"/"$ARTIST"/"$GENRE"/"$GENRE"/
        			mv /tmp/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 /tmp/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ARTIST"/"$ARTIST"//"$TITRE".mp3
				elif [ "rang3" = "Album"]; then
        			mkdir -p "$dossier"/"$ALBUM"/"$ARTIST"/"$ALBUM"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ARTIST"/"$ALBUM"/"$TITRE".mp3
        		elif [ "rang3" = "Genre"]; then
        			mkdir -p "$dossier"/"$ALBUM"/"$ARTIST"/"$GENRE"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ARTIST"/"$GENRE"/"$TITRE".mp3
        		fi
        	elif [ "rang2" = "Album"]; then
        		if [ "rang3" = "Artiste"]; then
					mkdir -p "$dossier"/"$ALBUM"/"$ALBUM"/"$ARTIST"/
					mv /tmp/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ALBUM"/"$ARTIST"/"$TITRE".mp3
				elif [ "rang3" = "Album"]; then
        			mkdir -p "$dossier"/"$ALBUM"/"$ALBUM"/"$ALBUM"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ALBUM"/"$ALBUM"/"$TITRE".mp3
        		elif [ "rang3" = "Genre"]; then
        			mkdir -p "$dossier"/"$ALBUM"/"$ALBUM"/"$GENRE"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ALBUM"/"$GENRE"/"$TITRE".mp3
        		fi
        	elif [ "rang2" = "Genre"]; then
        		if [ "rang3" = "Artiste"]; then
					mkdir -p "$dossier"/"$ALBUM"/"$GENRE"/"$ARTIST"/
					mv /tmp/conv/"$MOVE" "$dossier"/"$ALBUM"/"$GENRE"/"$ARTIST"/"$TITRE".mp3
				elif [ "rang3" = "Album"]; then
        			mkdir -p "$dossier"/"$ALBUM"/"$GENRE"/"$ALBUM"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$ALBUM"/"$GENRE"/"$ALBUM"/"$TITRE".mp3
        		elif [ "rang3" = "Genre"]; then
        			mkdir -p "$dossier"/"$ALBUM"/"$GENRE"/"$GENRE"/
        			mv /tmp/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 /tmp/conv/"$MOVE" "$dossier"/"$GENRE"/"$ARTISTE"/"$ARTISTE"/"$TITRE".mp3
				elif [ "rang3" = "Album"]; then
        			mkdir -p "$dossier"/"$GENRE"/"$ARTISTE"/"$ALBUM"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$GENRE"/"$ARTISTE"/"$ALBUM"/"$TITRE".mp3
        		elif [ "rang3" = "Genre"]; then
        			mkdir -p "$dossier"/"$GENRE"/"$ARTISTE"/"$GENRE"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$GENRE"/"$ARTISTE"/"$GENRE"/"$TITRE".mp3
        		fi
        	elif [ "rang2" = "Album"]; then
        		if [ "rang3" = "Artiste"]; then
					mkdir -p "$dossier"/"$GENRE"/"$ALBUM"/"$ARTISTE"/
					mv /tmp/conv/"$MOVE" "$dossier"/"$GENRE"/"$ALBUM"/"$ARTISTE"/"$TITRE".mp3
				elif [ "rang3" = "Album"]; then
        			mkdir -p "$dossier"/"$GENRE"/"$ALBUM"/"$ALBUM"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$GENRE"/"$ALBUM"/"$ALBUM"/"$TITRE".mp3
        		elif [ "rang3" = "Genre"]; then
        			mkdir -p "$dossier"/"$GENRE"/"$ALBUM"/"$GENRE"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$GENRE"/"$ALBUM"/"$GENRE"/"$TITRE".mp3
        		fi
        	elif [ "rang2" = "Genre"]; then
        		if [ "rang3" = "Artiste"]; then
					mkdir -p "$dossier"/"$GENRE"/"$GENRE"/"$ARTIST"/
					mv /tmp/conv/"$MOVE" "$dossier"/"$GENRE"/"$GENRE"/"$ARTIST"/"$TITRE".mp3
				elif [ "rang3" = "Album"]; then
        			mkdir -p "$dossier"/"$GENRE"/"$GENRE"/"$ALBUM"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$GENRE"/"$GENRE"/"$ALBUM"/"$TITRE".mp3
        		elif [ "rang3" = "Genre"]; then
        			mkdir -p "$dossier"/"$GENRE"/"$GENRE"/"$GENRE"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$GENRE"/"$GENRE"/"$GENRE"/"$TITRE".mp3
        		fi
        	fi        
        fi
        
        export MAIN_DIALOG='
<window title="Programme terminé" icon-name="redo" resizable="false" window_position="1">
  <vbox>
    <frame Info :>
      <text>
        <label>Toutes les opérations ont été effectuées avec succès, la musique a été rangée dans :</label>
      </text>
      <text>
        <label>'"$HOME"'/'"$rang1"'/'"$rang2"'/'"$rang3"'/'"$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>Toutes les opérations ont été effectuées avec succès, la musique a été rangée dans :</label>
      </text>
      <text>
        <label>'"$HOME"'/'"$dossier"'/'"$ARTIST"'/'"$ALBUM"'/'"$TITRE"'.mp3</label>
      </text>
    </frame>
    <hbox>
      <button ok></button>
    </hbox>
  </vbox>
</window>
'
        gtkdialog --program=MAIN_DIALOG
    }
    fi	
}

debut(){
	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/
	if [ "$EXIT" = "OK" ]; then
		file=$(ls -lt /tmp/Flash* | cut -d " " -f8 | head -n1)
		existence
	else exit 0
	fi
}

if [ -r ~/.deezaster/config ]; then
dossier=$(cat ~/.deezaster/config | sed '/chemin/ {n}')
rang1=$(cat ~/.deezaster/config | sed '/rang1/ {n}')
rang2=$(cat ~/.deezaster/config | sed '/rang2/ {n}')
rang3=$(cat ~/.deezaster/config | sed '/rang3/ {n}')

else 
	configuration
fi
recherche
debut

Dernière modification par syubuntu (Le 18/01/2009, à 02:19)


Arch[gnu/]linuxiens

Hors ligne

#166 Le 18/01/2009, à 02:29

re06011988

Re : [Aide] Script qui télécharge convertie tag et range les mp3

y a du boulots lol

Hors ligne

#167 Le 18/01/2009, à 02:31

syubuntu

Re : [Aide] Script qui télécharge convertie tag et range les mp3

ça va peut être t'embêter j'ai fait plusieurs fonction je m'y retrouve mieux.
mais les parties à  prendre sont juste la fonction configuration et une partie à la fin (pas superbe comme codage mais je n'ai pas eu d'autre idée sur le coup, faut voir si c'est ameliorable) .


pour le nom de chanson je te laisse voir combien de possibilité on peut laisser.pour l'instant je penser à une profondeur de 2 avec un choix entre nom du chanteur, titre de la chanson, et numero de la chanson, avec " - "entre les 2 rangs :

numero - titre.mp3
nom - titre.mp3
titre - numero.mp3
numero - nom.mp3
...

et je n'ai pas verifier mon code d'avant pour l'instant ça ne marche pas.mais ça doit pas etre mechant je regarde

Dernière modification par syubuntu (Le 18/01/2009, à 02:33)


Arch[gnu/]linuxiens

Hors ligne

#168 Le 18/01/2009, à 02:42

syubuntu

Re : [Aide] Script qui télécharge convertie tag et range les mp3

voila deja mieux

#! /bin/bash
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">~/.deezaster/config
			echo "$FILE_DIRECTORY">>~/.deezaster/config
			echo -e "rang1\n$rang1\nrang2\n$rang2\nrang3\n$rang3" >>~/.deezaster/config
		else 
			configuration
			exit 0
		fi
		elif [ "$EXIT" = "cancel" ] ; then 
			exit 0
		else 
			exit 0
	fi
}

tagman(){
	###### 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	
}

tagcddb(){
###### 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"
}

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 &
		}
		elif [ "$search" = "Fichier déjà en cours de chargement" ]; then
		{
			continue 2>/dev/null &
		}
		else 
			exit 0
		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
	}
	else exit 0
	fi
}

existence(){
	
	 if [ -e "$file" ]; then
    {
        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ébuter</label>
			  </text>
			  <text>
				<label>Cette étape peut prendre plus ou moins de temps selon la durée de la chanson, une fenêtre apparaitra 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/
        cp $file /tmp/conv/conv.flv
        ### Conversion FLV->MP3
        mplayer -dumpaudio -dumpfile /tmp/conv/conv.mp3 /tmp/conv/conv.flv
        ### supression du flv
        rm -f /tmp/conv/conv.flv
        ### Tag
            #### Génération du PUID du mp3
            PUID=$(genpuid $key /tmp/conv/conv.mp3 | grep " puid: " | sed -e 's/.*puid: //')
            #### Récupération des tags avec Musicbrainz© 
            wget -O /tmp/conv/.PUID http://musicbrainz.org/show/puid/?puid=$PUID
            #### Vérification des tags
            verif=$(cat /tmp/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, rentrer 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
                {
                    cddbtag
                }
                elif [ "$EXIT" = "Manuellement" ]; then
                {
                    tagman
                }
                fi 
            }
            else
            {
                ##### Tag trouvé sur Musicbrainz©
                ##### Définition des variables
                mbartist=$(cat /tmp/conv/.PUID | grep "<table class=\"artisttitle\">" | sed -e 's/.*artist page">//g' | sed -e 's/<\/a.*//' | sed -e "s/'/'/g" | head -n1)
                mbalbum=$(cat /tmp/conv/.PUID | grep "/release/" | sed -e 's/.*">//g' | sed -e 's/<\/a.*//' | sed -e "s/'/'/g" | head -n1)
                mbtitre=$(cat /tmp/conv/.PUID | grep "/track/" | sed -e 's/.*">//g' | sed -e 's/<\/a.*//' | sed -e "s/'/'/g" | head -n1)
                mbtrack=$(cat /tmp/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 conformes ?>
        <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" /tmp/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, rentrer 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
                    {
                        cddbtag
                    }
                    elif [ "$EXIT" = "Manuellement" ]; then
                    {
                        tagman
                    }
                    fi
                }
                fi
            }
            fi
        export MAIN_DIALOG='
<window title="Insertion terminée" icon-name="dialog-info" resizable="false" window_position="1">
  <vbox>
    <frame Info :>
      <text>
        <label>Insertion des Tags (ID3 v2.4) terminée !</label>
      </text>
    </frame>
    <hbox>
      <button ok></button>
    </hbox>
  </vbox>
</window>
'
        gtkdialog --program=MAIN_DIALOG
        ### Supression du fichier .PUID
        rm -f /tmp/conv/.PUID
        ### Extraction des variables (ruse siou)
        eyeD3 --rename="%Asupr1%asupr2%t" /tmp/conv/conv.mp3
        ### Définition des variables
        ARTIST=$(ls -lt /tmp/conv/*.mp3 | head -n1 | sed -e 's/.*tmp\/conv\///' | sed -e 's/supr1.*//')
        ALBUM=$(ls -lt /tmp/conv/*.mp3 | head -n1 | sed -e 's/.*tmp\/conv\///' | sed -e 's/.*supr1//' | sed -e 's/supr2.*//')
        TITRE=$(ls -lt /tmp/conv/*.mp3 | head -n1 | sed -e 's/.*tmp\/conv\///' | sed -e 's/.*supr2//' | sed -e 's/.mp3.*//')
        MOVE=$(ls -lt /tmp/conv/*.mp3 | head -n1 | sed -e 's/.*tmp\/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 /tmp/conv/"$MOVE" | grep "ARTIST" | sed -e 's/.*=//')
            ALBUM=$(lltag -S /tmp/conv/"$MOVE" | grep "ALBUM" | sed -e 's/.*=//')
            TITRE=$(lltag -S /tmp/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
        			mkdir -p "$dossier"/"$ARTIST"/"$ARTIST"/"$ARTIST"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ARTIST"/"$ARTIST"/"$TITRE".mp3
        		elif [ "$rang3" = "Album" ]; then
        			mkdir -p "$dossier"/"$ARTIST"/"$ARTIST"/"$ALBUM"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ARTIST"/"$ALBUM"/"$TITRE".mp3
        		elif [ "$rang3" = "Genre" ]; then
        			mkdir -p "$dossier"/"$ARTIST"/"$ARTIST"/"$GENRE"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ARTIST"/"$GENRE"/"$TITRE".mp3
        		fi
        	elif [ "$rang2" = "Album" ]; then
       			if [ "$rang3" = "Artiste" ]; then
					mkdir -p "$dossier"/"$ARTIST"/"$ALBUM"/"$ARTIST"/
					mv /tmp/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ALBUM"/"$ARTIST"/"$TITRE".mp3
				elif [ "$rang3" = "Album" ]; then
        			mkdir -p "$dossier"/"$ARTIST"/"$ALBUM"/"$ALBUM"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ALBUM"/"$ALBUM"/"$TITRE".mp3
        		elif [ "$rang3" = "Genre" ]; then
        			mkdir -p "$dossier"/"$ARTIST"/"$ALBUM"/"$GENRE"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ALBUM"/"$GENRE"/"$TITRE".mp3
        		fi
        	elif [ "$rang2" = "Genre" ]; then
				if [ "$rang3" = "Artiste" ]; then
					mkdir -p "$dossier"/"$ARTIST"/"$GENRE"/"$ARTIST"/
					mv /tmp/conv/"$MOVE" "$dossier"/"$ARTIST"/"$GENRE"/"$ARTIST"/"$TITRE".mp3
				elif [ "$rang3" = "Album" ]; then
        			mkdir -p "$dossier"/"$ARTIST"/"$GENRE"/"$ALBUM"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$ARTIST"/"$GENRE"/"$ALBUM"/"$TITRE".mp3
        		elif [ "$rang3" = "Genre" ]; then
        			mkdir -p "$dossier"/"$ARTIST"/"$GENRE"/"$GENRE"/
        			mv /tmp/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 /tmp/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ARTIST"/"$ARTIST"//"$TITRE".mp3
				elif [ "$rang3" = "Album" ]; then
        			mkdir -p "$dossier"/"$ALBUM"/"$ARTIST"/"$ALBUM"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ARTIST"/"$ALBUM"/"$TITRE".mp3
        		elif [ "$rang3" = "Genre" ]; then
        			mkdir -p "$dossier"/"$ALBUM"/"$ARTIST"/"$GENRE"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ARTIST"/"$GENRE"/"$TITRE".mp3
        		fi
        	elif [ "$rang2" = "Album" ]; then
        		if [ "$rang3" = "Artiste" ]; then
					mkdir -p "$dossier"/"$ALBUM"/"$ALBUM"/"$ARTIST"/
					mv /tmp/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ALBUM"/"$ARTIST"/"$TITRE".mp3
				elif [ "$rang3" = "Album" ]; then
        			mkdir -p "$dossier"/"$ALBUM"/"$ALBUM"/"$ALBUM"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ALBUM"/"$ALBUM"/"$TITRE".mp3
        		elif [ "$rang3" = "Genre" ]; then
        			mkdir -p "$dossier"/"$ALBUM"/"$ALBUM"/"$GENRE"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ALBUM"/"$GENRE"/"$TITRE".mp3
        		fi
        	elif [ "$rang2" = "Genre" ]; then
        		if [ "$rang3" = "Artiste" ]; then
					mkdir -p "$dossier"/"$ALBUM"/"$GENRE"/"$ARTIST"/
					mv /tmp/conv/"$MOVE" "$dossier"/"$ALBUM"/"$GENRE"/"$ARTIST"/"$TITRE".mp3
				elif [ "$rang3" = "Album" ]; then
        			mkdir -p "$dossier"/"$ALBUM"/"$GENRE"/"$ALBUM"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$ALBUM"/"$GENRE"/"$ALBUM"/"$TITRE".mp3
        		elif [ "$rang3" = "Genre" ]; then
        			mkdir -p "$dossier"/"$ALBUM"/"$GENRE"/"$GENRE"/
        			mv /tmp/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 /tmp/conv/"$MOVE" "$dossier"/"$GENRE"/"$ARTISTE"/"$ARTISTE"/"$TITRE".mp3
				elif [ "$rang3" = "Album" ]; then
        			mkdir -p "$dossier"/"$GENRE"/"$ARTISTE"/"$ALBUM"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$GENRE"/"$ARTISTE"/"$ALBUM"/"$TITRE".mp3
        		elif [ "$rang3" = "Genre" ]; then
        			mkdir -p "$dossier"/"$GENRE"/"$ARTISTE"/"$GENRE"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$GENRE"/"$ARTISTE"/"$GENRE"/"$TITRE".mp3
        		fi
        	elif [ "$rang2" = "Album" ]; then
        		if [ "$rang3" = "Artiste" ]; then
					mkdir -p "$dossier"/"$GENRE"/"$ALBUM"/"$ARTISTE"/
					mv /tmp/conv/"$MOVE" "$dossier"/"$GENRE"/"$ALBUM"/"$ARTISTE"/"$TITRE".mp3
				elif [ "$rang3" = "Album" ]; then
        			mkdir -p "$dossier"/"$GENRE"/"$ALBUM"/"$ALBUM"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$GENRE"/"$ALBUM"/"$ALBUM"/"$TITRE".mp3
        		elif [ "$rang3" = "Genre" ]; then
        			mkdir -p "$dossier"/"$GENRE"/"$ALBUM"/"$GENRE"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$GENRE"/"$ALBUM"/"$GENRE"/"$TITRE".mp3
        		fi
        	elif [ "$rang2" = "Genre" ]; then
        		if [ "$rang3" = "Artiste" ]; then
					mkdir -p "$dossier"/"$GENRE"/"$GENRE"/"$ARTIST"/
					mv /tmp/conv/"$MOVE" "$dossier"/"$GENRE"/"$GENRE"/"$ARTIST"/"$TITRE".mp3
				elif [ "$rang3" = "Album" ]; then
        			mkdir -p "$dossier"/"$GENRE"/"$GENRE"/"$ALBUM"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$GENRE"/"$GENRE"/"$ALBUM"/"$TITRE".mp3
        		elif [ "$rang3" = "Genre" ]; then
        			mkdir -p "$dossier"/"$GENRE"/"$GENRE"/"$GENRE"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$GENRE"/"$GENRE"/"$GENRE"/"$TITRE".mp3
        		fi
        	fi        
        fi
        
        export MAIN_DIALOG='
<window title="Programme terminé" icon-name="redo" resizable="false" window_position="1">
  <vbox>
    <frame Info :>
      <text>
        <label>Toutes les opérations ont été effectuées avec succès, la musique a été rangée dans :</label>
      </text>
      <text>
        <label>'"$HOME"'/'"$rang1"'/'"$rang2"'/'"$rang3"'/'"$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>Toutes les opérations ont été effectuées avec succès, la musique a été rangée dans :</label>
      </text>
      <text>
        <label>'"$HOME"'/'"$dossier"'/'"$ARTIST"'/'"$ALBUM"'/'"$TITRE"'.mp3</label>
      </text>
    </frame>
    <hbox>
      <button ok></button>
    </hbox>
  </vbox>
</window>
'
        gtkdialog --program=MAIN_DIALOG
    }
    fi	
}

debut(){
	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/
	if [ "$EXIT" = "OK" ]; then
		file=$(ls -lt /tmp/Flash* | cut -d " " -f8 | head -n1)
		existence
	else exit 0
	fi
}

if [ -r ~/.deezaster/config ]; then
dossier=$(cat ~/.deezaster/config | sed '/chemin/ {n}')
rang1=$(cat ~/.deezaster/config | sed '/rang1/ {n}')
rang2=$(cat ~/.deezaster/config | sed '/rang2/ {n}')
rang3=$(cat ~/.deezaster/config | sed '/rang3/ {n}')

else 
	configuration
fi
recherche
debut

Arch[gnu/]linuxiens

Hors ligne

#169 Le 18/01/2009, à 02:45

re06011988

Re : [Aide] Script qui télécharge convertie tag et range les mp3

pour ton option de renamage de titre en l'appelant comme tu dit c'est simple a mettre en place

suffit que dans le fichier de conf tu mette name = 1, 2, 3, 4...

et moi avec un if $option_name = 1 -> numero - titre.mp3

etc ...c pas compliquer et dans la fenetre de conf on fait une fenetre avec des bouton radio retournant 1 2 3 4... puis definir le dossier de destination

Hors ligne

#170 Le 18/01/2009, à 02:52

syubuntu

Re : [Aide] Script qui télécharge convertie tag et range les mp3

j'ai pas compris trop.

le numero doit être en fonction de celui donné par musicbrainz("d'ailleurs ce truc la manque dans le mode manuel)


pour le sed :
dossier=$(cat ~/.deezaster/config | sed '/chemin/ {n}')
me prend la ligne qu'il y a apres la ligne ou il y a ecrit chemin mais moi je veux seulement cette ligne et il me me tt le reste du fichier lui.

edit c'est bon c'est moi qui fatigue

re edit finalement ce n'est pas bon

Dernière modification par syubuntu (Le 18/01/2009, à 02:57)


Arch[gnu/]linuxiens

Hors ligne

#171 Le 18/01/2009, à 02:58

l e . n o x

Re : [Aide] Script qui télécharge convertie tag et range les mp3

Bonsoir @ Tous smile

Cela avance à grand pas, très intéressent de suivre le développement du petit DySasteur.

@re06011988 : Dommage de conserver emprisonné dans ton disque dur ton taf, mais la liberté est l'un des dernier luxe qu'il nous reste big_smile

Tu devrais virer les liens firefox dans le code ainsi que les WebSites avec copyright dans le menu déroulant et reellement si besoin permettre aux utilisateurs de les saisir manuellement roll

Encore bravo pour la gestion des Tags wink

Dernière modification par l e . n o x (Le 18/01/2009, à 03:00)


Zik Fan : " Vous seul savez mieux que quiconque comment organiser votre bibliothèque musicale ! "

Linux, y a moins bien.
Mais c'est plus cher. ;O)

Hors ligne

#172 Le 18/01/2009, à 03:02

re06011988

Re : [Aide] Script qui télécharge convertie tag et range les mp3

faut lui dire de virer le reste apres ou de selection que la ligne avec un variable propre genre si tu as un fichier qui resemble a sa :

Chemin=/home/MP3/repertoirx
rang=1

tu peut tapper sa :

cat ~/.deezaster | grep "Chemin" | sed -e 's/Chemin=//'

sa affichera la ligne chemin=... mais sed va remplacer chemin= par rien donc sa affichera seulement /home/MP3/repertoirx

Sinon je pense que tes if seront utile même si moi je ne mets pas tout dans des fonction pour garder un code aligner et a mes repere (qui ne sont pas au gout de tout le monde mais bon g toujour prog comme sa et sa mets rester lol)

voila mais avens te faire tous sa il me faut un nom qui déchire avec un logo que je puisse faire partager le nouveau script le plus vite possible

@l e . n o x :

je sais c'est bête mais je tien a respecté les regle du forum pour que moi et comme eux nous ayons des probleme en nous fesant traiter de warez alors que le but premier de ce logiciel n'est pas le cas

Donc je cherche un news name avec un jeux de mots débile et une image qui tue apres reste le fichier de conf a inseré et puis voila

mais sa attendrat demain la vais au pieu les ubunteros morphé m'appelle dans ces bras et ma copine va encore geuler que g passer la nuit sur le pc

(Ps : sa aurait pus avancer plus vite deezaster si elle avait pas casser sa partoche cette aprem et que son merveilleu cherie (moi lol) ne vien a sa rescousse pour essayer de recuperer des donner d'une partoche bousillié )

Dernière modification par re06011988 (Le 18/01/2009, à 03:10)

Hors ligne

#173 Le 18/01/2009, à 03:19

syubuntu

Re : [Aide] Script qui télécharge convertie tag et range les mp3

parfait.

pour le nom de fichier j'ai pas compris comme tu disais.
je sais pas si c'est interessant moi je sais que j'ai l'habitude de nommer ma musique
track - titre/mp3

#! /bin/bash
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
}

tagman(){
	###### 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	
}

tagcddb(){
###### 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"
}

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 &
		}
		elif [ "$search" = "Fichier déjà en cours de chargement" ]; then
		{
			continue 2>/dev/null &
		}
		else 
			exit 0
		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
	}
	else exit 0
	fi
}

existence(){
	
	 if [ -e "$file" ]; then
    {
        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ébuter</label>
			  </text>
			  <text>
				<label>Cette étape peut prendre plus ou moins de temps selon la durée de la chanson, une fenêtre apparaitra 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/
        cp $file /tmp/conv/conv.flv
        ### Conversion FLV->MP3
        mplayer -dumpaudio -dumpfile /tmp/conv/conv.mp3 /tmp/conv/conv.flv
        ### supression du flv
        rm -f /tmp/conv/conv.flv
        ### Tag
            #### Génération du PUID du mp3
            PUID=$(genpuid $key /tmp/conv/conv.mp3 | grep " puid: " | sed -e 's/.*puid: //')
            #### Récupération des tags avec Musicbrainz© 
            wget -O /tmp/conv/.PUID http://musicbrainz.org/show/puid/?puid=$PUID
            #### Vérification des tags
            verif=$(cat /tmp/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, rentrer 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
                {
                    cddbtag
                }
                elif [ "$EXIT" = "Manuellement" ]; then
                {
                    tagman
                }
                fi 
            }
            else
            {
                ##### Tag trouvé sur Musicbrainz©
                ##### Définition des variables
                mbartist=$(cat /tmp/conv/.PUID | grep "<table class=\"artisttitle\">" | sed -e 's/.*artist page">//g' | sed -e 's/<\/a.*//' | sed -e "s/'/'/g" | head -n1)
                mbalbum=$(cat /tmp/conv/.PUID | grep "/release/" | sed -e 's/.*">//g' | sed -e 's/<\/a.*//' | sed -e "s/'/'/g" | head -n1)
                mbtitre=$(cat /tmp/conv/.PUID | grep "/track/" | sed -e 's/.*">//g' | sed -e 's/<\/a.*//' | sed -e "s/'/'/g" | head -n1)
                mbtrack=$(cat /tmp/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 conformes ?>
        <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" /tmp/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, rentrer 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
                    {
                        cddbtag
                    }
                    elif [ "$EXIT" = "Manuellement" ]; then
                    {
                        tagman
                    }
                    fi
                }
                fi
            }
            fi
        export MAIN_DIALOG='
<window title="Insertion terminée" icon-name="dialog-info" resizable="false" window_position="1">
  <vbox>
    <frame Info :>
      <text>
        <label>Insertion des Tags (ID3 v2.4) terminée !</label>
      </text>
    </frame>
    <hbox>
      <button ok></button>
    </hbox>
  </vbox>
</window>
'
        gtkdialog --program=MAIN_DIALOG
        ### Supression du fichier .PUID
        rm -f /tmp/conv/.PUID
        ### Extraction des variables (ruse siou)
        eyeD3 --rename="%Asupr1%asupr2%t" /tmp/conv/conv.mp3
        ### Définition des variables
        ARTIST=$(ls -lt /tmp/conv/*.mp3 | head -n1 | sed -e 's/.*tmp\/conv\///' | sed -e 's/supr1.*//')
        ALBUM=$(ls -lt /tmp/conv/*.mp3 | head -n1 | sed -e 's/.*tmp\/conv\///' | sed -e 's/.*supr1//' | sed -e 's/supr2.*//')
        TITRE=$(ls -lt /tmp/conv/*.mp3 | head -n1 | sed -e 's/.*tmp\/conv\///' | sed -e 's/.*supr2//' | sed -e 's/.mp3.*//')
        MOVE=$(ls -lt /tmp/conv/*.mp3 | head -n1 | sed -e 's/.*tmp\/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 /tmp/conv/"$MOVE" | grep "ARTIST" | sed -e 's/.*=//')
            ALBUM=$(lltag -S /tmp/conv/"$MOVE" | grep "ALBUM" | sed -e 's/.*=//')
            TITRE=$(lltag -S /tmp/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
        			mkdir -p "$dossier"/"$ARTIST"/"$ARTIST"/"$ARTIST"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ARTIST"/"$ARTIST"/"$TITRE".mp3
        		elif [ "$rang3" = "Album" ]; then
        			mkdir -p "$dossier"/"$ARTIST"/"$ARTIST"/"$ALBUM"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ARTIST"/"$ALBUM"/"$TITRE".mp3
        		elif [ "$rang3" = "Genre" ]; then
        			mkdir -p "$dossier"/"$ARTIST"/"$ARTIST"/"$GENRE"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ARTIST"/"$GENRE"/"$TITRE".mp3
        		fi
        	elif [ "$rang2" = "Album" ]; then
       			if [ "$rang3" = "Artiste" ]; then
					mkdir -p "$dossier"/"$ARTIST"/"$ALBUM"/"$ARTIST"/
					mv /tmp/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ALBUM"/"$ARTIST"/"$TITRE".mp3
				elif [ "$rang3" = "Album" ]; then
        			mkdir -p "$dossier"/"$ARTIST"/"$ALBUM"/"$ALBUM"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ALBUM"/"$ALBUM"/"$TITRE".mp3
        		elif [ "$rang3" = "Genre" ]; then
        			mkdir -p "$dossier"/"$ARTIST"/"$ALBUM"/"$GENRE"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ALBUM"/"$GENRE"/"$TITRE".mp3
        		fi
        	elif [ "$rang2" = "Genre" ]; then
				if [ "$rang3" = "Artiste" ]; then
					mkdir -p "$dossier"/"$ARTIST"/"$GENRE"/"$ARTIST"/
					mv /tmp/conv/"$MOVE" "$dossier"/"$ARTIST"/"$GENRE"/"$ARTIST"/"$TITRE".mp3
				elif [ "$rang3" = "Album" ]; then
        			mkdir -p "$dossier"/"$ARTIST"/"$GENRE"/"$ALBUM"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$ARTIST"/"$GENRE"/"$ALBUM"/"$TITRE".mp3
        		elif [ "$rang3" = "Genre" ]; then
        			mkdir -p "$dossier"/"$ARTIST"/"$GENRE"/"$GENRE"/
        			mv /tmp/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 /tmp/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ARTIST"/"$ARTIST"//"$TITRE".mp3
				elif [ "$rang3" = "Album" ]; then
        			mkdir -p "$dossier"/"$ALBUM"/"$ARTIST"/"$ALBUM"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ARTIST"/"$ALBUM"/"$TITRE".mp3
        		elif [ "$rang3" = "Genre" ]; then
        			mkdir -p "$dossier"/"$ALBUM"/"$ARTIST"/"$GENRE"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ARTIST"/"$GENRE"/"$TITRE".mp3
        		fi
        	elif [ "$rang2" = "Album" ]; then
        		if [ "$rang3" = "Artiste" ]; then
					mkdir -p "$dossier"/"$ALBUM"/"$ALBUM"/"$ARTIST"/
					mv /tmp/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ALBUM"/"$ARTIST"/"$TITRE".mp3
				elif [ "$rang3" = "Album" ]; then
        			mkdir -p "$dossier"/"$ALBUM"/"$ALBUM"/"$ALBUM"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ALBUM"/"$ALBUM"/"$TITRE".mp3
        		elif [ "$rang3" = "Genre" ]; then
        			mkdir -p "$dossier"/"$ALBUM"/"$ALBUM"/"$GENRE"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ALBUM"/"$GENRE"/"$TITRE".mp3
        		fi
        	elif [ "$rang2" = "Genre" ]; then
        		if [ "$rang3" = "Artiste" ]; then
					mkdir -p "$dossier"/"$ALBUM"/"$GENRE"/"$ARTIST"/
					mv /tmp/conv/"$MOVE" "$dossier"/"$ALBUM"/"$GENRE"/"$ARTIST"/"$TITRE".mp3
				elif [ "$rang3" = "Album" ]; then
        			mkdir -p "$dossier"/"$ALBUM"/"$GENRE"/"$ALBUM"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$ALBUM"/"$GENRE"/"$ALBUM"/"$TITRE".mp3
        		elif [ "$rang3" = "Genre" ]; then
        			mkdir -p "$dossier"/"$ALBUM"/"$GENRE"/"$GENRE"/
        			mv /tmp/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 /tmp/conv/"$MOVE" "$dossier"/"$GENRE"/"$ARTISTE"/"$ARTISTE"/"$TITRE".mp3
				elif [ "$rang3" = "Album" ]; then
        			mkdir -p "$dossier"/"$GENRE"/"$ARTISTE"/"$ALBUM"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$GENRE"/"$ARTISTE"/"$ALBUM"/"$TITRE".mp3
        		elif [ "$rang3" = "Genre" ]; then
        			mkdir -p "$dossier"/"$GENRE"/"$ARTISTE"/"$GENRE"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$GENRE"/"$ARTISTE"/"$GENRE"/"$TITRE".mp3
        		fi
        	elif [ "$rang2" = "Album" ]; then
        		if [ "$rang3" = "Artiste" ]; then
					mkdir -p "$dossier"/"$GENRE"/"$ALBUM"/"$ARTISTE"/
					mv /tmp/conv/"$MOVE" "$dossier"/"$GENRE"/"$ALBUM"/"$ARTISTE"/"$TITRE".mp3
				elif [ "$rang3" = "Album" ]; then
        			mkdir -p "$dossier"/"$GENRE"/"$ALBUM"/"$ALBUM"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$GENRE"/"$ALBUM"/"$ALBUM"/"$TITRE".mp3
        		elif [ "$rang3" = "Genre" ]; then
        			mkdir -p "$dossier"/"$GENRE"/"$ALBUM"/"$GENRE"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$GENRE"/"$ALBUM"/"$GENRE"/"$TITRE".mp3
        		fi
        	elif [ "$rang2" = "Genre" ]; then
        		if [ "$rang3" = "Artiste" ]; then
					mkdir -p "$dossier"/"$GENRE"/"$GENRE"/"$ARTIST"/
					mv /tmp/conv/"$MOVE" "$dossier"/"$GENRE"/"$GENRE"/"$ARTIST"/"$TITRE".mp3
				elif [ "$rang3" = "Album" ]; then
        			mkdir -p "$dossier"/"$GENRE"/"$GENRE"/"$ALBUM"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$GENRE"/"$GENRE"/"$ALBUM"/"$TITRE".mp3
        		elif [ "$rang3" = "Genre" ]; then
        			mkdir -p "$dossier"/"$GENRE"/"$GENRE"/"$GENRE"/
        			mv /tmp/conv/"$MOVE" "$dossier"/"$GENRE"/"$GENRE"/"$GENRE"/"$TITRE".mp3
        		fi
        	fi        
        fi
        
        export MAIN_DIALOG='
<window title="Programme terminé" icon-name="redo" resizable="false" window_position="1">
  <vbox>
    <frame Info :>
      <text>
        <label>Toutes les opérations ont été effectuées avec succès, la musique a été rangée dans :</label>
      </text>
      <text>
        <label>'"$HOME"'/'"$rang1"'/'"$rang2"'/'"$rang3"'/'"$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>Toutes les opérations ont été effectuées avec succès, la musique a été rangée dans :</label>
      </text>
      <text>
        <label>'"$HOME"'/'"$dossier"'/'"$ARTIST"'/'"$ALBUM"'/'"$TITRE"'.mp3</label>
      </text>
    </frame>
    <hbox>
      <button ok></button>
    </hbox>
  </vbox>
</window>
'
        gtkdialog --program=MAIN_DIALOG
    }
    fi	
}

debut(){
	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/
	if [ "$EXIT" = "OK" ]; then
		file=$(ls -lt /tmp/Flash* | cut -d " " -f8 | head -n1)
		existence
	else exit 0
	fi
}

if [ -r ~/.deezaster/config ]; then
dossier=$(cat ~/.deezaster/config | grep "dossier" | sed -e 's/dossier=//')
echo "$dossier"
rang1=$(cat ~/.deezaster/config | grep "rang1" | sed -e 's/rang1=//')
echo "$rang1"
rang2=$(cat ~/.deezaster/config | grep "rang2" | sed -e 's/rang2=//')

rang3=$(cat ~/.deezaster/config | grep "rang3" | sed -e 's/rang3=//')



else 
	configuration
fi
recherche
debut

lol.
bonne nuit.
en theorie ça marche comme ça.
++

Dernière modification par syubuntu (Le 18/01/2009, à 03:21)


Arch[gnu/]linuxiens

Hors ligne

#174 Le 18/01/2009, à 03:28

l e . n o x

Re : [Aide] Script qui télécharge convertie tag et range les mp3

Dans la famille Terminator  :

Cyberdyne
Skynet
T-800 = T8Cen
T1000 = TMile
T-X

Zeira Corp
endosquelette
le programme CRS
un acier "Titane-Tungstène" (Ti-W)
Cyberdyne Systems

Terminator T-800 Modèle 101
Terminator T-850 Modèle 101
Terminator T-888
Terminator T-1

John Connor
Marcus Wright
Kate Connor

http://fr.wikipedia.org/wiki/Personnages_de_Terminator


CyberDyne.jpg

cyberdyne_thumb.gif
Cyberdyne.gif


t800.jpg

T1000_Press.jpg

terminator-sarah-connor-chronicles.miniature.jpg

terminator4.jpg

Dernière modification par l e . n o x (Le 18/01/2009, à 04:02)


Zik Fan : " Vous seul savez mieux que quiconque comment organiser votre bibliothèque musicale ! "

Linux, y a moins bien.
Mais c'est plus cher. ;O)

Hors ligne

#175 Le 18/01/2009, à 06:04

l e . n o x

Re : [Aide] Script qui télécharge convertie tag et range les mp3

Rebonjour,

Pour la partie install du script et plus particulièrement l'implémentation du lanceur dans Applications\son et vidéo, voici ce que je vous propose pour remplacer le fichier "deezaster.desktop" dans l'archive "deezasteri.tar.gz" :

	# Prévu pour la version graphique
	echo "\nCréation d'un raccourci dans le Menu Principal"
	sudo cp deezaster.png /usr/share/pixmaps/deezaster.png
#Script origine => sudo cp deezaster.desktop /usr/share/applications/deezaster.desktop

# Modification--------------------------debut
echo "
[Desktop Entry]
Name=Deezaster
Name[fr]=Deezaster
Comment=Stream Music downloader and tagger automatically
Comment[fr]=Télécharge et tag automatiquement de la musique diffusée en streaming
Exec=deezaster
Icon=/usr/share/pixmaps/deezaster.png
Type=Application
Categories=AudioVideo;AudioVideoEditing;GTK;
MimeType=audio/x-mp3;application/ogg;x-directory/normal;
Encoding=UTF-8" | sudo tee /usr/share/applications/deezaster.desktop
# Modification--------------------------Fin

Bonne continuation smile

Dernière modification par l e . n o x (Le 18/01/2009, à 06:05)


Zik Fan : " Vous seul savez mieux que quiconque comment organiser votre bibliothèque musicale ! "

Linux, y a moins bien.
Mais c'est plus cher. ;O)

Hors ligne