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.

#326 Le 04/02/2009, à 20:26

shakipu

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

[root ~]# whereis cut
cut: /usr/bin/cut /usr/share/man/man1/cut.1.gz
[root ~]# which cut
/usr/bin/cut/

Donc apparemment cut est présent hmm

P.S : en fait je me met en root pour faire la commande cut et quand je le fais en sudo, ça marche ( j'ai juste Flash* not found parce que j'ai rien chargé donc j'essaierais un peu plus tard )


Nous sommes tous des pécheurs face à l'Ethernet...

Hors ligne

#327 Le 04/02/2009, à 21:53

shakipu

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

plmegalo a écrit :

Visiblement c'est un problème de version de GTKDialog ou de GTK...

Je crois pas que ça soit ça... Quand j'ouvre T1000-tag en sudo, je n'ai pas ce message... Mais T1000-tag ne marche quand même pas... Sinon, je crois pas que cette ligne ait une influence sur T1000-tag puisqu'elle ne survient que quand j'ouvre le fichier où enregistrer les musiques ( l'interface pour naviguer dans les fichiers et choisir le fichier )...


Nous sommes tous des pécheurs face à l'Ethernet...

Hors ligne

#328 Le 04/02/2009, à 22:01

plmegalo

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

shakipu a écrit :
plmegalo a écrit :

Visiblement c'est un problème de version de GTKDialog ou de GTK...

Je crois pas que ça soit ça... Quand j'ouvre T1000-tag en sudo, je n'ai pas ce message... Mais T1000-tag ne marche quand même pas... Sinon, je crois pas que cette ligne ait une influence sur T1000-tag puisqu'elle ne survient que quand j'ouvre le fichier où enregistrer les musiques ( l'interface pour naviguer dans les fichiers et choisir le fichier )...

il se peut aussi que t1000 tag ne fasse pas la même chose quand tu es en root et quand tu est en utilisateur normal... et donc ne fait pas appel de la même façon à GTKDialog...

enfin je pense que tu peux vérifier si tu ne l'as pas déjà fait...

De toute façon je suis sous ubuntu et T1000-tag ne fonctionne pas d'avantage mieux plus smile

Dernière modification par plmegalo (Le 04/02/2009, à 22:02)

#329 Le 04/02/2009, à 23:02

redisded

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

shakipu a écrit :
[root ~]# whereis cut
cut: /usr/bin/cut /usr/share/man/man1/cut.1.gz
[root ~]# which cut
/usr/bin/cut/

Donc apparemment cut est présent hmm

P.S : en fait je me met en root pour faire la commande cut et quand je le fais en sudo, ça marche ( j'ai juste Flash* not found parce que j'ai rien chargé donc j'essaierais un peu plus tard )

Peut-tu nous donner le résultat de :

echo $PATH

Hors ligne

#330 Le 04/02/2009, à 23:28

shakipu

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

[user ~]# echo $PATH
/usr/local/bin: /usr/bin: /bin: /usr/games
[root ~]# echo $PATH
/usr/local/sbin: /usr/local/bin: /usr/sbin: /usr/bin: /sbin: /bin

Justement je me disais qu'il fallait que je change les PATH... Comment faire ?
En fait je crois qu'il n'y a pas grand chose que j'ai à changer... Je me demande juste comment faire pour que quand je fasse un sudo, les PATH soient les même que en root ?

Dernière modification par shakipu (Le 04/02/2009, à 23:31)


Nous sommes tous des pécheurs face à l'Ethernet...

Hors ligne

#331 Le 04/02/2009, à 23:37

redisded

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

Que donnent les commandes whereis et which pour ton user?

Dernière modification par redisded (Le 04/02/2009, à 23:38)

Hors ligne

#332 Le 04/02/2009, à 23:49

shakipu

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

La même chose qu'en root... là je suis carrèment paumé sad


Nous sommes tous des pécheurs face à l'Ethernet...

Hors ligne

#333 Le 05/02/2009, à 00:02

redisded

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

Et si tu essai en terminal :

ls -lt /tmp/Flash* | /usr/bin/cut -d " " -f8 | head -n1

Hors ligne

#334 Le 05/02/2009, à 00:12

shakipu

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

ça a écrit "4" et c'est tout, pas de musique dans mon dossier personnel, que ça soit en root ou en user...

EDIT : ah bah normal, je viens de comprendre vite fait la commande big_smile ça copie rien dans mon dossier...

Dernière modification par shakipu (Le 05/02/2009, à 00:16)


Nous sommes tous des pécheurs face à l'Ethernet...

Hors ligne

#335 Le 05/02/2009, à 00:15

redisded

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

essai dans ce cas de remplacer dans le script toutes les occurences de cut par /usr/bin/cut.

Ensuite, relance le chargement d'un morceau dans ton navigateur et test le script à nouveau.

Hors ligne

#336 Le 05/02/2009, à 00:19

shakipu

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

J'ai rééssayé la commande précédente en changeant /usr/bin/cut par cut et ça a marché... J'ai lancé T1000-tag dans un terminal et j'ai eu 4 fois :

** Gtk-WARNING **: Cannot open display

et T1000-tag n'a pas démarré...

EDIT  : et avant le gtk warning, c'est écris (gtkdialog:122554)
EDIT 2 : je vais me coucher, je verrais ça demain... Au pire, je récupère mes musiques à la main et j'édite le tag à la main... Bonne nuit tout le monde et merci !

Dernière modification par shakipu (Le 05/02/2009, à 00:30)


Nous sommes tous des pécheurs face à l'Ethernet...

Hors ligne

#337 Le 05/02/2009, à 00:29

redisded

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

que te renvoi :

echo $DISPLAY

Hors ligne

#338 Le 05/02/2009, à 00:33

shakipu

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

le gtk-warning ne se fait qu'en root... En user, j'ai aucun message d'erreur mais ça ne marche toujours pas ( "Une erreur est survenue" )

[user ~]# echo $DISPLAY
:0.0

Nous sommes tous des pécheurs face à l'Ethernet...

Hors ligne

#339 Le 05/02/2009, à 00:35

redisded

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

et que te donne cette commande :

ls -lt /tmp/Flash* | /usr/bin/cut -d " " -f8 | head -n1

avec un morceau chargé dans le repertoire /tmp ?

Hors ligne

#340 Le 05/02/2009, à 00:37

shakipu

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

ça me donne "4" c'est tout...
Mais bon comme je l'ai dis précedemment, vu la galère, au pire je peux tous faire à la main...

EDIT : Bonne nuit !

Dernière modification par shakipu (Le 05/02/2009, à 00:46)


Nous sommes tous des pécheurs face à l'Ethernet...

Hors ligne

#341 Le 05/02/2009, à 15:51

gulp

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

Franchement très bien fait!

un truc qui manque pourvoir le faire tourner en boucle en répondant automatiquement au boite de dialogue(et pouvoir prédéfinir la réponse). Pour ripper les chansons qui ce succède sur une radio

Sinon très beau boulot bravo

Hors ligne

#342 Le 17/02/2009, à 19:02

re06011988

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

Merci

J'ai fait un petit script pour ranger une bibliotech mais il n'est pas trés performant par rapport a des vraix logiciel mais bon si y'en a qui sont intérreser envoyer moi un mail wink

Hors ligne

#343 Le 24/04/2009, à 18:03

blackbg

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

Ce petit script me paraît super, cependant, sans vouloir être offensant, il est bourré de fautes de français diverses et variées.
C'est dommage par rapport à tout le travail fourni !

Hors ligne

#344 Le 24/04/2009, à 22:32

l e . n o x

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

Bonsoir blackbg smile

Nous avons toujours besoin de personne compétente en orthographe ou en traduction.

Si tu as quelques minutes voici le script à modifier pour corriger toutes ces petites coquilles de français. wink

#!/bin/sh
##########################################################################################################################
##						Change log:                  						##
##						-----------								##
##															##
## -Utilisation de lltag -S au lieu de MP3info (v1.0)									##
## -Correction des fautes de nortograffe :) (All)									##
## -Utilisation de genpuid© et mipcore© pour générer le puid du MP3 Musicip© (http://www.musicip.com) 			##
## -Utilisation de la BD Musicbrainz pour récupérer les tags auto (v1.3)						##
## -Ouverture de DEEZER avec la recherche demandée (v1.3)								##
## -Récupération du dernier Flash*** présent dans le /tmp/ (Merci à AnsuzPeorth) (v1.2)					##
## -Utilisation de eyeD3 pour tag v1.1 et V2.4 	 (v1.2)									##
## -Amélioration des recherches CDDB avec lltag (v1.3)									##
## -Détermine si le chargement est complet automatiquement (Merci à AnsuzPeorth) (v1.3)					##
## -Différent choix de recherche (v1.4)											##
## -Correction du bug quand plusieurs Flash** dans /tmp/	(v1.4)							##
## -Correction du bug pour la requête sur CDDB (v1.4)									##
## -Correction du bug des tag quand le PUID donne plusieurs réponses							##
## -Suppression des underscrore pour le trie des mp3 (v1.4)								##
## -Amélioration de l'affichage (v1.4)											##
## -Utilisation eyeD3 pour la définition des variables de trie (Regle le problème d'accent) (ruse de sioux) (v1.4)	##
## -Mise en Majuscule de la première lettre de chaque tag rentré manuellement (v1.4)					##
## -Conversion réalisée dans /tmp/conv pour que ça soit plus propre et rangé (v1.4)					##
## -Création d'un installeur automatique (v1.5)										##
## -Modification de la requête Imeem pour n'afficher que des musiques	(v1.5)						##
## -Ajout en prévision des images de fond et icônes (v1.5)								##
## -Ajout en prévision du raccourci dans Application>Son et videos>T1000-tag (v1.5)					##
## -Raccourci ajouté (v1.6)												##
## -Interface graphique (v1.7)												##
## -Utilisation des genres fournie par eyeD3 -l (1.7)									##
## -Modification du fichier install pour incorporer les images et icones néccesaire pour la version graphique (v1.7)	##
## -Correction de bug divers (v1.7)											##
## -Amélioration de l'exécution du script et simplification des opérations conditionnelles (v1.7)			##
## -Correction du bug avec les "/" (v1.8)										##
## -Conversion effectuée dans le répertoire /tmp/conv (v1.8)								##
## -Ajout d'une progresse bar pour montrer l'avancement du téléchargement / conversion / Puid gen (v1.8)		##
## -Ajout d'un système de configuration (v1.9)										##
## -Supression des recherches Deezer et IMEEM (v2.0)									##
## -Renomage du script en T1000-tag (v2.0)										##
## -Changement du logo (v2.0)												##
##															##
## -Afin de respecter les lois régissant internet dans mon beau pays des droits de l'Homme cette 			##
##  version sera changer prochainnement pour ne plus laisser de lien avec les sites Deezer et Imeem et devenir		##
##  un script sans ambiguité avec le Warez chose dont ce script n'est pas fait et ne sera jamais fait.			##
##															##
##												Amicalement 06011988	##
##															##
##########################################################################################################################
#
##########################
##  Auteur : 06011988	##
##     Version: 2.0	##
##     Licence: GNU	##
##########################
#
#L'auteur décline toutes responsabilités de l'utilisation illégale de T1000-tag!
#
# Clé d'utilisation de genpuid (Fourni par Musicdns.com)
key=3839dbda127e29ccd213da2be833b756
#Conversion dans le tmp
mkdir -p /tmp/conv
#Verife du fichier de conf
test -e ~/.T1000-tag
CONFIG=$?
if [ "$CONFIG" = "1" ]; then
{
export MAIN_DIALOG='
<window title="Attention" icon-name="gtk-dialog-warning" resizable="false" window_position="1">
  <vbox>
    <frame Attention>
      <text>
        <label>Aucun fichier de configuration. Merci de lancer la configuration!</label>
      </text>
    </frame>
    <hbox>
      <button ok></button>
    </hbox>
  </vbox>
</window>
'
gtkdialog --program MAIN_DIALOG
}
#fichier de conf présent test de son intégrité
else
{
	Test_dir=$(cat ~/.T1000-tag | grep "Chemin" | sed -e 's/Chemin=//')
	Test_trie=$(cat ~/.T1000-tag | grep "Trie" | sed -e 's/Trie=//')
	Test_nom=$(cat ~/.T1000-tag | grep "Nom" | sed -e 's/Nom=//')
	if [ -d "$Test_dir" ]; then
	{
		echo "config DIR OK"
	}
	else
	{
	export MAIN_DIALOG='
	<window title="Attention" icon-name="gtk-dialog-warning" resizable="false" window_position="1">
	  <vbox>
	    <frame Attention>
	      <text>
		<label>Fichier de configuration erroné!</label>
	      </text>
	    </frame>
	    <hbox>
	      <button ok></button>
	    </hbox>
	  </vbox>
	</window>
	'
        gtkdialog --program MAIN_DIALOG
	#Éviter d'avoir 3 fenêtres annonçant que le fichier de config est corrompu
	ERROR="1"
	}
	fi
	if [ "$ERROR" = "1" ] || [ "$Test_trie" = "9" ] || [ "$Test_trie" = "8" ] || [ "$Test_trie" = "7" ] || [ "$Test_trie" = "6" ] || [ "$Test_trie" = "5" ] || [ "$Test_trie" = "4" ] || [ "$Test_trie" = "3" ] || [ "$Test_trie" = "2" ] || [ "$Test_trie" = "1" ]; then
	{
		echo "config TRIE OK"
	}
	else
	{
	export MAIN_DIALOG='
	<window title="Attention" icon-name="gtk-dialog-warning" resizable="false" window_position="1">
	  <vbox>
	    <frame Attention>
	      <text>
		<label>Fichier de configuration erroné!</label>
	      </text>
	    </frame>
	    <hbox>
	      <button ok></button>
	    </hbox>
	  </vbox>
	</window>
	'
        gtkdialog --program MAIN_DIALOG
	#Éviter d'avoir 3 fenêtres annonçant que le fichier de config est corrompu
	ERROR="1"
	}
	fi
	if [ "$ERROR" = "1" ] || [ "$Test_nom" = "8" ] || [ "$Test_nom" = "7" ] || [ "$Test_nom" = "6" ] || [ "$Test_nom" = "5" ] || [ "$Test_nom" = "4" ] || [ "$Test_nom" = "3" ] || [ "$Test_nom" = "2" ] || [ "$Test_nom" = "1" ]; then
	{
		echo "config NOM OK"
	}
	else
	{
	export MAIN_DIALOG='
	<window title="Attention" icon-name="gtk-dialog-warning" resizable="false" window_position="1">
	  <vbox>
	    <frame Attention>
	      <text>
		<label>Fichier de configuration erroné!</label>
	      </text>
	    </frame>
	    <hbox>
	      <button ok></button>
	    </hbox>
	  </vbox>
	</window>
	'
	gtkdialog --program MAIN_DIALOG
	}
	fi
}
fi
#Recherche
export MAIN_DIALOG='
<window icon-name="deezaster" title="T1000-tag" resizable="false" window_position="1">
  <vbox>
    <hbox>
      <pixmap>
        <input file>/usr/share/pixmaps/T1000-tagfd.png</input>
      </pixmap>
    </hbox>
    <hbox>
    <frame Sur quel site effectuer une recherche?>
      <hbox>
        <combobox>
          <variable>search</variable>
          <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>
        <input file icon="gtk-preferences">"Configuration"</input><label>Configuration</label>
      </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

## Supression des recherche sur deezer et IMEEM

# Quitte
if [ "$EXIT" = "Cancel" ] || [ "$EXIT" = "abort" ]; then
{
	boulet="Merci d'avoir lancer T1000-tag 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 T1000-tag!"
	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
	T1000-tag
	exit 0
}
elif [ "$EXIT" = "Configuration" ]; then
{
export MAIN_DIALOG='
<window title="Configuration" icon-name="gtk-preferences" resizable="false" window_position="1">
 <vbox>
   <notebook labels="Dossier|Trie|Nom">
   <vbox>
     <text>
       <label>Choisir le dossier de destination :</label>
     </text>
     <hbox>
      <entry accept="directory">
        <label>Séléctionner le répertoire de destination :</label>
        <variable>FILE_DIRECTORY</variable>
      </entry>
      </hbox>
      <hbox>
      <button>
        <input file stock="gtk-open"></input><label>Séléctionner</label>
        <action type="fileselect">FILE_DIRECTORY</action>
      </button>
     </hbox>
    </vbox>
    <vbox>
      <text>
        <label>Paramètre de rangement :</label>
      </text>
      <radiobutton active="true">
        <label>Artist/</label>
        <variable>trie1</variable>
      </radiobutton>
      <radiobutton active="true">
        <label>Album/</label>
        <variable>trie2</variable>
      </radiobutton>
      <radiobutton active="true">
        <label>Genre/</label>
        <variable>trie3</variable>
      </radiobutton>
      <radiobutton active="true">
        <label>Artiste/Album/</label>
        <variable>trie4</variable>
      </radiobutton>
      <radiobutton active="true">
        <label>Artiste/Genre/</label>
        <variable>trie5</variable>
      </radiobutton>
      <radiobutton active="true">
        <label>Genre/Artiste/</label>
        <variable>trie6</variable>
      </radiobutton>
      <radiobutton active="true">
        <label>Genre/Album/</label>
        <variable>trie7</variable>
      </radiobutton>
      <radiobutton active="true">
        <label>Genre/Artiste/Album/</label>
        <variable>trie8</variable>
      </radiobutton>
      <radiobutton active="true">
        <label>Aucun</label>
        <variable>trie9</variable>
      </radiobutton>
    </vbox>
    <vbox>
      <text>
        <label>Paramètre du nom du mp3 :</label>
      </text>
      <radiobutton active="true">
        <label>titre</label>
        <variable>nom1</variable>
      </radiobutton>
      <radiobutton active="true">
        <label>track - titre</label>
        <variable>nom2</variable>
      </radiobutton>
      <radiobutton active="true">
        <label>artist - titre</label>
        <variable>nom3</variable>
      </radiobutton>
      <radiobutton active="true">
        <label>album - titre</label>
        <variable>nom4</variable>
      </radiobutton>
      <radiobutton active="true">
        <label>track - artist - titre</label>
        <variable>nom5</variable>
      </radiobutton>
      <radiobutton active="true">
        <label>track - album - titre</label>
        <variable>nom6</variable>
      </radiobutton>
      <radiobutton active="true">
        <label>artist - album - titre</label>
        <variable>nom7</variable>
      </radiobutton>
      <radiobutton active="true">
        <label>track - artist - album - titre</label>
        <variable>nom8</variable>
      </radiobutton>
    </vbox>
   </notebook>
   <hbox>
     <button ok></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
	if [ "$EXIT" = "OK" ]; then
	{
		# Définition de la variable de trie
		if [ "$trie1" = "true" ]; then
		{
			TRIE="1"
		}
		elif [ "$trie2" = "true" ]; then
		{
			TRIE="2"
		}
		elif [ "$trie3" = "true" ]; then
		{
			TRIE="3"
		}
		elif [ "$trie4" = "true" ]; then
		{
			TRIE="4"
		}
		elif [ "$trie5" = "true" ]; then
		{
			TRIE="5"
		}
		elif [ "$trie6" = "true" ]; then
		{
			TRIE="6"
		}
		elif [ "$trie7" = "true" ]; then
		{
			TRIE="7"
		}
		elif [ "$trie8" = "true" ]; then
		{
			TRIE="8"
		}
		elif [ "$trie9" = "true" ]; then
		{
			TRIE="9"
		}
		fi
		#Définition des variables pour l'affichage du nom
		if [ "$nom1" = "true" ]; then
		{
			NOM="1"
		}
		elif [ "$nom2" = "true" ]; then
		{
			NOM="2"
		}
		elif [ "$nom3" = "true" ]; then
		{
			NOM="3"
		}
		elif [ "$nom4" = "true" ]; then
		{
			NOM="4"
		}
		elif [ "$nom5" = "true" ]; then
		{
			NOM="5"
		}
		elif [ "$nom6" = "true" ]; then
		{
			NOM="6"
		}
		elif [ "$nom7" = "true" ]; then
		{
			NOM="7"
		}
		elif [ "$nom8" = "true" ]; then
		{
			NOM="8"
		}
		fi
		#Définition du répertoire
		REP=$FILE_DIRECTORY
		#Création du fichion de configuration
		echo "Chemin=$REP">~/.T1000-tag
		echo "Trie=$TRIE">>~/.T1000-tag
		echo "Nom=$NOM">>~/.T1000-tag

	}
	fi
	T1000-tag
	exit 0
}
fi
# Fichier chargé complétement?
export MAIN_DIALOG='
<window title="Attention" icon-name="gtk-dialog-warning" resizable="false" window_position="1">
  <vbox>
    <frame Attention>
      <text>
        <label>Merci de lancer le chargement de la musique avant de continuer T1000-tag</label>
      </text>
    </frame>
    <hbox>
      <button ok></button>
    </hbox>
  </vbox>
</window>
'
# Récupérer la sortie standard de Gtkdialog
VARIABLES=`gtkdialog --program MAIN_DIALOG`
# Créer les variables shell
eval $VARIABLES
### Sélection du dernier fichier flv présent dans /tmp/
file=$(ls -lt /tmp/Flash* | cut -d " " -f8 | head -n1)
# OK
if [ "$EXIT" = "OK" ]; then
{
	##Fichier existant ?
        if [ -e "$file" ]; then
	{
		### Chargement du fichier test
		export MAIN_DIALOG='
<window title="Téléchargement" icon-name="dialog-info" resizable="false" window_position="1">
  <vbox>
    <frame Progress :>
      <text>
        <label>Cette étape peut prendre plus ou moin de temps selon votre connexion.</label>
      </text>
      <progressbar>
        <label>Téléchargement en cours ...</label>
        <input>i=33.33333333 ; echo $i</input>
      </progressbar>
    </frame>
   </vbox>
</window>
'
		gtkdialog --program=MAIN_DIALOG 2>/dev/null &
		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
 		)
		killall gtkdialog
		export MAIN_DIALOG='
<window title="Conversion Audio" icon-name="dialog-info" resizable="false" window_position="1">
  <vbox>
    <frame Progress :>
      <text>
        <label>Cette étape peut prendre plus ou moin de temps selon la durée de la chanson.</label>
      </text>
      <progressbar>
        <label>Conversion Audio en cours ...</label>
        <input>i=66.6666666 ; echo $i</input>
      </progressbar>
    </frame>
   </vbox>
</window>
'
		gtkdialog --program=MAIN_DIALOG 2>/dev/null &
		### 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
			label="Génération de l'empreinte audio"
			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
			killall gtkdialog
			export MAIN_DIALOG='
<window title="'"$label"'" icon-name="dialog-info" resizable="false" window_position="1">
  <vbox>
    <frame Progress :>
      <text>
        <label>Cette étape peut prendre plus ou moin de temps selon la durée de la chanson.</label>
      </text>
      <progressbar>
        <label>'"$label"'</label>
        <input>i=99.9999999; echo $i</input>
      </progressbar>
    </frame>
   </vbox>
</window>
'
			gtkdialog --program=MAIN_DIALOG 2>/dev/null &
			verif=$(cat /tmp/conv/.PUID | grep "This <" | sed -e 's/.*<strong>//' | sed -e 's/<\/strong>.*//')			
			if [ "$verif" = "PUID" ]; then
			{
				##### Tag non trouvé sur Musicbrainz©
				killall gtkdialog
				export MAIN_DIALOG='
<window title="Tag non trouvé" icon-name="dialog-info" resizable="false" window_position="1">
  <vbox>
    <frame Info :>
      <text>
        <label>Tag non trouvé sur Musicbrainz©. Que faire rentrez les tag :</label>
      </text>
    </frame>
    <hbox>
     <button>
       <input file icon="emblem-draft">"Manuellement"</input><label>Manuellement</label>
    </button>
     <button>
       <input file icon="emblem-web">Via la CDDB</input><label>Via la base de données CDDB</label>
    </button>
    </hbox>
  </vbox>
</window>
'
				# Récupérer la sortie standard de Gtkdialog
				VARIABLES=`gtkdialog --program MAIN_DIALOG` 
				# Créer les variables shell
				eval $VARIABLES
				if [ "$EXIT" = "Via la base de données CDDB" ]; then
				{
					###### Tagage avec lltag (ID3 v1)
					label="Entrer le nom de l'artiste ou l'album puis laissez vous guider:"
					export MAIN_DIALOG='
<window title="Recherche CDDB" icon-name="help" resizable="false" window_position="1">
  <vbox>
    <text>
      <label>'"$label"'</label>
    </text>
    <entry>
      <variable>cddb</variable>
    </entry>
    <button ok></button>
  </vbox>
</window>'
					###### Récupérer la sortie standard de Gtkdialog
					VARIABLES=`gtkdialog --program MAIN_DIALOG`
					###### Créer les variables shell
					eval $VARIABLES
					###### Lancement de lltag dans un terminal
					xterm -geometry 170x60 -sb -rightbar -hold -e lltag --cddb-query "$cddb" /tmp/conv/conv.mp3
					use_lltag="1"
				}
				elif [ "$EXIT" = "Manuellement" ]; then
				{
					###### Tagage manuel
					export MAIN_DIALOG='
<window title="Rentrer 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>Track :  </label>
      </text>
      <entry>
	<variable>mtrack</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&/' | sed -e 's/\//-/g')
					malbum=$(echo "$malbum" | sed 's/^./\u&/' | sed -e 's/\//-/g')
					mgenre=$(echo "$mgenre" | sed 's/^./\u&/' | sed -e 's/\//-/g')
					mtitre=$(echo "$mtitre" | sed 's/^./\u&/' | sed -e 's/\//-/g')
					mtrack=$(echo "$mtrack" | sed 's/^./\u&/' | sed -e 's/\//-/g')
					eyeD3 -a "$martiste" -A "$malbum" -t "$mtitre" -G "$mgenre" -n "$mbtrack" /tmp/conv/conv.mp3
				}
				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/&#39;/'/g" | head -n1 | sed -e 's/\//-/g')
				mbalbum=$(cat /tmp/conv/.PUID | grep "/release/" | sed -e 's/.*">//g' | sed -e 's/<\/a.*//' | sed -e "s/&#39;/'/g" | head -n1 | sed -e 's/\//-/g')
				mbtitre=$(cat /tmp/conv/.PUID | grep "/track/" | sed -e 's/.*">//g' | sed -e 's/<\/a.*//' | sed -e "s/&#39;/'/g" | head -n1 | sed -e 's/\//-/g')
				mbtrack=$(cat /tmp/conv/.PUID | grep "no\">" | sed -e 's/.*">//g' | sed -e 's/<\/t.*//' | sed -e "s/&#39;/'/g" | head -n1 | sed -e 's/\//-/g')
				##### Affichage des Tags trouvés
				killall gtkdialog
				export MAIN_DIALOG='
<window title="tag trouvé sur Musicbrainz©" icon-name="help" resizable="false" window_position="1">
  <vbox>
    <hbox>
      <frame Artiste : >
        <text>
          <label># '"$mbartist"'</label>
        </text>
      </frame>
    </hbox>
    <hbox>
      <frame Album : >
        <text>
          <label># '"$mbalbum"'</label>
        </text>
      </frame>
    </hbox>
    <hbox>
      <frame Titre : >
        <text>
          <label># '"$mbtitre"'</label>
        </text>
      </frame>
    </hbox>
    <hbox>
      <frame Track : >
        <text>
          <label># '"$mbtrack"'</label>
        </text>
      </frame>
    </hbox>
    <hbox>
      <frame Les tags de Musibrainz© sont conforme ?>
        <button yes></button>
        <button no></button>
      </frame>
    </hbox>
  </vbox>
</window>'
					###### Récupérer la sortie standard de Gtkdialog
					VARIABLES=`gtkdialog --program MAIN_DIALOG`
					###### Créer les variables shell
					eval $VARIABLES	
				##### Vérification des Tags
				if [ "$EXIT" = "Yes" ]; then
				{
					###### Tag conforme puis définition du Genre (pas donné par Musicbrainz©)
					export MAIN_DIALOG='
<window title="Entrez le genre" icon-name="help" resizable="false" window_position="1">
  <vbox>
    <frame Entrez le genre>
      <combobox>
        <variable>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>
    </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 "$mgenre" -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
					{
						###### 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
						xterm -geometry 170x60 -sb -rightbar -hold -e lltag --cddb-query "$cddb" /tmp/conv/conv.mp3
						use_lltag="1"
					}
					elif [ "$EXIT" = "Manuellement" ]; then
					{
						###### Tagage manuel
						export MAIN_DIALOG='
<window title="Rentré les tags manuellement" icon-name="help" resizable="false" window_position="1">
  <vbox>
    <hbox>
      <text>
	<label>Artiste :</label>
      </text>
      <entry>
	<variable>martiste</variable>
      </entry>
    </hbox>
    <hbox>
      <text>
	<label>Album :  </label>
      </text>
      <entry>
	<variable>malbum</variable>
      </entry>
    </hbox>
    <hbox>
      <text>
	<label>Track :  </label>
      </text>
      <entry>
	<variable>mtrack</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&/' | sed -e 's/\//-/g')
						malbum=$(echo "$malbum" | sed 's/^./\u&/' | sed -e 's/\//-/g')
						mgenre=$(echo "$mgenre" | sed 's/^./\u&/' | sed -e 's/\//-/g')
						mtitre=$(echo "$mtitre" | sed 's/^./\u&/' | sed -e 's/\//-/g')
						mtrack=$(echo "$mtrack" | sed 's/^./\u&/' | sed -e 's/\//-/g')
						eyeD3 -a "$martiste" -A "$malbum" -t "$mtitre" -G "$mgenre" -n "$mbtrack" /tmp/conv/conv.mp3
					}
					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 Tag (ID3 v2.4) terminé !</label>
      </text>
    </frame>
    <hbox>
      <button ok></button>
    </hbox>
  </vbox>
</window>
'
		gtkdialog --program=MAIN_DIALOG
		### Supression du fichier .PUID
		rm -f /tmp/conv/.PUID
		### Extraction des variables (ruse siou)
		eyeD3 --rename="%Asupr1%asupr2%tsupr3%n" /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.*//' | sed -e 's/\//-/g')
		ALBUM=$(ls -lt /tmp/conv/*.mp3 | head -n1 | sed -e 's/.*tmp\/conv\///' | sed -e 's/.*supr1//' | sed -e 's/supr2.*//' | sed -e 's/\//-/g')
		TITRE=$(ls -lt /tmp/conv/*.mp3 | head -n1 | sed -e 's/.*tmp\/conv\///' | sed -e 's/.*supr2//' | sed -e 's/supr3.*//' | sed -e 's/\//-/g')
		NUMBER=$(ls -lt /tmp/conv/*.mp3 | head -n1 | sed -e 's/.*tmp\/conv\///' | sed -e 's/.*supr3//' | sed -e 's/.mp3.*//' | sed -e 's/\//-/g')
		GENRE=$(echo $mgenre | sed -e 's/\//-/g')
		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/.*=//' | sed -e 's/\//-/g')
			ALBUM=$(lltag -S /tmp/conv/"$MOVE" | grep "ALBUM" | sed -e 's/.*=//' | sed -e 's/\//-/g')
			TITRE=$(lltag -S /tmp/conv/"$MOVE" | grep "TITLE" | sed -e 's/.*=//' | sed -e 's/\//-/g')
			NUMBER=$(lltag -S /tmp/conv/"$MOVE" | grep "NUMBER" | sed -e 's/.*=//' | sed -e 's/\//-/g')
			GENRE=$(lltag -S /tmp/conv/"$MOVE" | grep "GENRE" | sed -e 's/.*=//' | sed -e 's/\//-/g')
		}
		fi
		### Recuperation des paramètres
			dir=$(cat ~/.T1000-tag | grep "Chemin" | sed -e 's/Chemin=//')
			trie=$(cat ~/.T1000-tag | grep "Trie" | sed -e 's/Trie=//')
			nom=$(cat ~/.T1000-tag | grep "Nom" | sed -e 's/Nom=//')
		### Création des dossiers selon la configuration
			case "$trie" in
				1 ) dir2="$dir/$ARTIST/";;
				2 ) dir2="$dir/$ALBUM/";;
				3 ) dir2="$dir/$GENRE/";;
				4 ) dir2="$dir/$ARTIST/$ALBUM/";;
				5 ) dir2="$dir/$ARTIST/$GENRE/";;
				6 ) dir2="$dir/$GENRE/$ARTIST/";;
				7 ) dir2="$dir/$GENRE/$ALBUM/";;
				8 ) dir2="$dir/$GENRE/$ARTIST/$ALBUM/";;
				9 ) dir2="$dir/";;
			esac
			mkdir -p "$dir2"
		### Déplacement du mp3 dans le dossier selon la configuration
			case "$nom" in
				1 ) move2="$TITRE.mp3";;
				2 ) move2="$NUMBER-$TITRE.mp3";;
				3 ) move2="$ARTIST-$TITRE.mp3";;
				4 ) move2="$ALBUM-$TITRE.mp3";;
				5 ) move2="$NUMBER-$ARTIST-$TITRE.mp3";;
				6 ) move2="$NUMBER-$ALBUM-$TITRE.mp3";;
				7 ) move2="$ARTIST-$ALBUM-$TITRE.mp3";;
				8 ) move2="$NUMBER-$ARTIST-$ALBUM-$TITRE.mp3";;
			esac
			mv /tmp/conv/"$MOVE" "$dir2""$move2"
		export MAIN_DIALOG='
<window title="Programme terminé" icon-name="redo" resizable="false" window_position="1">
  <vbox>
    <frame Info :>
      <text>
        <label>Toute les opérations ont été effectuée avec succès la musique a été rangée dans :</label>
      </text>
      <text>
        <label>'"$dir2$move2"'</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>Une erreur est survenue!</label>
      </text>
    </frame>
    <hbox>
      <button ok></button>
    </hbox>
  </vbox>
</window>
'
		gtkdialog --program=MAIN_DIALOG
	}
	fi
}
fi
#Demande de relancement de T1000-tag
export MAIN_DIALOG='
<window title="T1000-tag" icon-name="reload" resizable="false" window_position="1">
  <vbox>
    <frame Question :>
      <text>
        <label>Relancer T1000-tag ?</label>
      </text>
    </frame>
    <hbox>
      <button yes></button>
      <button no></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" = "Yes" ]; then
{
	T1000-tag
}
fi
exit 0

Merci @ tous wink


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

#345 Le 24/04/2009, à 23:54

blackbg

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

Je ne pense pas les avoir toutes éradiquées, mais j'en ai déjà corrigées une dizaine [de fautes], et encore bravo pour le travail !

#!/bin/sh
##########################################################################################################################
##                        Change log:                                          ##
##                        -----------                                ##
##                                                            ##
## -Utilisation de lltag -S au lieu de MP3info (v1.0)                                    ##
## -Correction des fautes de nortograffe :) (All)                                    ##
## -Utilisation de genpuid© et mipcore© pour générer le puid du MP3 Musicip© (http://www.musicip.com)             ##
## -Utilisation de la BD Musicbrainz pour récupérer les tags auto (v1.3)                        ##
## -Ouverture de DEEZER avec la recherche demandée (v1.3)                                ##
## -Récupération du dernier Flash*** présent dans le /tmp/ (Merci à AnsuzPeorth) (v1.2)                    ##
## -Utilisation de eyeD3 pour tag v1.1 et V2.4      (v1.2)                                    ##
## -Amélioration des recherches CDDB avec lltag (v1.3)                                    ##
## -Détermine si le chargement est complet automatiquement (Merci à AnsuzPeorth) (v1.3)                    ##
## -Différents choix de recherche (v1.4)                                            ##
## -Correction du bug quand plusieurs Flash** dans /tmp/    (v1.4)                            ##
## -Correction du bug pour la requête sur CDDB (v1.4)                                    ##
## -Correction du bug des tag quand le PUID donne plusieurs réponses                            ##
## -Suppression des underscore pour le tri des mp3 (v1.4)                                ##
## -Amélioration de l'affichage (v1.4)                                            ##
## -Utilisation eyeD3 pour la définition des variables de tri (Regle le problème d'accent) (ruse de sioux) (v1.4)    ##
## -Mise en Majuscule de la première lettre de chaque tag rentré manuellement (v1.4)                    ##
## -Conversion réalisée dans /tmp/conv pour que ça soit plus propre et rangé (v1.4)                    ##
## -Création d'un installeur automatique (v1.5)                                        ##
## -Modification de la requête Imeem pour n'afficher que des musiques    (v1.5)                        ##
## -Ajout en prévision des images de fond et icônes (v1.5)                                ##
## -Ajout en prévision du raccourci dans Application>Son et vidéos>T1000-tag (v1.5)                    ##
## -Raccourci ajouté (v1.6)                                                ##
## -Interface graphique (v1.7)                                                ##
## -Utilisation des genres fournie par eyeD3 -l (1.7)                                    ##
## -Modification du fichier install pour incorporer les images et icônes nécessaire pour la version graphique (v1.7)    ##
## -Correction de bug divers (v1.7)                                            ##
## -Amélioration de l'exécution du script et simplification des opérations conditionnelles (v1.7)            ##
## -Correction du bug avec les "/" (v1.8)                                        ##
## -Conversion effectuée dans le répertoire /tmp/conv (v1.8)                                ##
## -Ajout d'une progresse bar pour montrer l'avancement du téléchargement / conversion / Puid gen (v1.8)        ##
## -Ajout d'un système de configuration (v1.9)                                        ##
## -Suppression des recherches Deezer et IMEEM (v2.0)                                    ##
## -Renommage du script en T1000-tag (v2.0)                                        ##
## -Changement du logo (v2.0)                                                ##
##                                                            ##
## -Afin de respecter les lois régissant internet dans mon beau pays des droits de l'Homme cette             ##
##  version sera changée prochainement pour ne plus laisser de lien avec les sites Deezer et Imeem et devenir        ##
##  un script sans ambiguïté avec le Warez, chose dont ce script n'est pas fait et ne sera jamais fait.            ##
##                                                            ##
##                                                Amicalement 06011988    ##
##                                                            ##
##########################################################################################################################
#
##########################
##  Auteur : 06011988    ##
##     Version: 2.0    ##
##     Licence: GNU    ##
##########################
#
#L'auteur décline toutes responsabilités de l'utilisation illégale de T1000-tag!
#
# Clé d'utilisation de genpuid (Fourni par Musicdns.com)
key=3839dbda127e29ccd213da2be833b756
#Conversion dans le tmp
mkdir -p /tmp/conv
#Verife du fichier de conf
test -e ~/.T1000-tag
CONFIG=$?
if [ "$CONFIG" = "1" ]; then
{
export MAIN_DIALOG='
<window title="Attention" icon-name="gtk-dialog-warning" resizable="false" window_position="1">
  <vbox>
    <frame Attention>
      <text>
        <label>Aucun fichier de configuration. Merci de lancer la configuration!</label>
      </text>
    </frame>
    <hbox>
      <button ok></button>
    </hbox>
  </vbox>
</window>
'
gtkdialog --program MAIN_DIALOG
}
#fichier de conf présent test de son intégrité
else
{
    Test_dir=$(cat ~/.T1000-tag | grep "Chemin" | sed -e 's/Chemin=//')
    Test_trie=$(cat ~/.T1000-tag | grep "Trie" | sed -e 's/Trie=//')
    Test_nom=$(cat ~/.T1000-tag | grep "Nom" | sed -e 's/Nom=//')
    if [ -d "$Test_dir" ]; then
    {
        echo "config DIR OK"
    }
    else
    {
    export MAIN_DIALOG='
    <window title="Attention" icon-name="gtk-dialog-warning" resizable="false" window_position="1">
      <vbox>
        <frame Attention>
          <text>
        <label>Fichier de configuration erroné!</label>
          </text>
        </frame>
        <hbox>
          <button ok></button>
        </hbox>
      </vbox>
    </window>
    '
        gtkdialog --program MAIN_DIALOG
    #Éviter d'avoir 3 fenêtres annonçant que le fichier de config est corrompu
    ERROR="1"
    }
    fi
    if [ "$ERROR" = "1" ] || [ "$Test_trie" = "9" ] || [ "$Test_trie" = "8" ] || [ "$Test_trie" = "7" ] || [ "$Test_trie" = "6" ] || [ "$Test_trie" = "5" ] || [ "$Test_trie" = "4" ] || [ "$Test_trie" = "3" ] || [ "$Test_trie" = "2" ] || [ "$Test_trie" = "1" ]; then
    {
        echo "config TRIE OK"
    }
    else
    {
    export MAIN_DIALOG='
    <window title="Attention" icon-name="gtk-dialog-warning" resizable="false" window_position="1">
      <vbox>
        <frame Attention>
          <text>
        <label>Fichier de configuration erroné!</label>
          </text>
        </frame>
        <hbox>
          <button ok></button>
        </hbox>
      </vbox>
    </window>
    '
        gtkdialog --program MAIN_DIALOG
    #Éviter d'avoir 3 fenêtres annonçant que le fichier de config est corrompu
    ERROR="1"
    }
    fi
    if [ "$ERROR" = "1" ] || [ "$Test_nom" = "8" ] || [ "$Test_nom" = "7" ] || [ "$Test_nom" = "6" ] || [ "$Test_nom" = "5" ] || [ "$Test_nom" = "4" ] || [ "$Test_nom" = "3" ] || [ "$Test_nom" = "2" ] || [ "$Test_nom" = "1" ]; then
    {
        echo "config NOM OK"
    }
    else
    {
    export MAIN_DIALOG='
    <window title="Attention" icon-name="gtk-dialog-warning" resizable="false" window_position="1">
      <vbox>
        <frame Attention>
          <text>
        <label>Fichier de configuration erroné!</label>
          </text>
        </frame>
        <hbox>
          <button ok></button>
        </hbox>
      </vbox>
    </window>
    '
    gtkdialog --program MAIN_DIALOG
    }
    fi
}
fi
#Recherche
export MAIN_DIALOG='
<window icon-name="deezaster" title="T1000-tag" resizable="false" window_position="1">
  <vbox>
    <hbox>
      <pixmap>
        <input file>/usr/share/pixmaps/T1000-tagfd.png</input>
      </pixmap>
    </hbox>
    <hbox>
    <frame Sur quel site effectuer une recherche?>
      <hbox>
        <combobox>
          <variable>search</variable>
          <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>
        <input file icon="gtk-preferences">"Configuration"</input><label>Configuration</label>
      </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

## Suppression des recherche sur deezer et IMEEM

# Quitte
if [ "$EXIT" = "Cancel" ] || [ "$EXIT" = "abort" ]; then
{
    boulet="Merci d'avoir lancé T1000-tag pour ne pas l'utiliser c'est malin ..."
    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 toute responsabilité en cas d'utilisation illégale de T1000-tag!"
    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
    T1000-tag
    exit 0
}
elif [ "$EXIT" = "Configuration" ]; then
{
export MAIN_DIALOG='
<window title="Configuration" icon-name="gtk-preferences" resizable="false" window_position="1">
 <vbox>
   <notebook labels="Dossier|Trie|Nom">
   <vbox>
     <text>
       <label>Choisir le dossier de destination :</label>
     </text>
     <hbox>
      <entry accept="directory">
        <label>Sélectionner le répertoire de destination :</label>
        <variable>FILE_DIRECTORY</variable>
      </entry>
      </hbox>
      <hbox>
      <button>
        <input file stock="gtk-open"></input><label>Sélectionner</label>
        <action type="fileselect">FILE_DIRECTORY</action>
      </button>
     </hbox>
    </vbox>
    <vbox>
      <text>
        <label>Paramètres de rangement :</label>
      </text>
      <radiobutton active="true">
        <label>Artist/</label>
        <variable>trie1</variable>
      </radiobutton>
      <radiobutton active="true">
        <label>Album/</label>
        <variable>trie2</variable>
      </radiobutton>
      <radiobutton active="true">
        <label>Genre/</label>
        <variable>trie3</variable>
      </radiobutton>
      <radiobutton active="true">
        <label>Artiste/Album/</label>
        <variable>trie4</variable>
      </radiobutton>
      <radiobutton active="true">
        <label>Artiste/Genre/</label>
        <variable>trie5</variable>
      </radiobutton>
      <radiobutton active="true">
        <label>Genre/Artiste/</label>
        <variable>trie6</variable>
      </radiobutton>
      <radiobutton active="true">
        <label>Genre/Album/</label>
        <variable>trie7</variable>
      </radiobutton>
      <radiobutton active="true">
        <label>Genre/Artiste/Album/</label>
        <variable>trie8</variable>
      </radiobutton>
      <radiobutton active="true">
        <label>Aucun</label>
        <variable>trie9</variable>
      </radiobutton>
    </vbox>
    <vbox>
      <text>
        <label>Paramètres du nom du mp3 :</label>
      </text>
      <radiobutton active="true">
        <label>titre</label>
        <variable>nom1</variable>
      </radiobutton>
      <radiobutton active="true">
        <label>track - titre</label>
        <variable>nom2</variable>
      </radiobutton>
      <radiobutton active="true">
        <label>artist - titre</label>
        <variable>nom3</variable>
      </radiobutton>
      <radiobutton active="true">
        <label>album - titre</label>
        <variable>nom4</variable>
      </radiobutton>
      <radiobutton active="true">
        <label>track - artist - titre</label>
        <variable>nom5</variable>
      </radiobutton>
      <radiobutton active="true">
        <label>track - album - titre</label>
        <variable>nom6</variable>
      </radiobutton>
      <radiobutton active="true">
        <label>artist - album - titre</label>
        <variable>nom7</variable>
      </radiobutton>
      <radiobutton active="true">
        <label>track - artist - album - titre</label>
        <variable>nom8</variable>
      </radiobutton>
    </vbox>
   </notebook>
   <hbox>
     <button ok></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
    if [ "$EXIT" = "OK" ]; then
    {
        # Définition de la variable de tri
        if [ "$trie1" = "true" ]; then
        {
            TRIE="1"
        }
        elif [ "$trie2" = "true" ]; then
        {
            TRIE="2"
        }
        elif [ "$trie3" = "true" ]; then
        {
            TRIE="3"
        }
        elif [ "$trie4" = "true" ]; then
        {
            TRIE="4"
        }
        elif [ "$trie5" = "true" ]; then
        {
            TRIE="5"
        }
        elif [ "$trie6" = "true" ]; then
        {
            TRIE="6"
        }
        elif [ "$trie7" = "true" ]; then
        {
            TRIE="7"
        }
        elif [ "$trie8" = "true" ]; then
        {
            TRIE="8"
        }
        elif [ "$trie9" = "true" ]; then
        {
            TRIE="9"
        }
        fi
        #Définition des variables pour l'affichage du nom
        if [ "$nom1" = "true" ]; then
        {
            NOM="1"
        }
        elif [ "$nom2" = "true" ]; then
        {
            NOM="2"
        }
        elif [ "$nom3" = "true" ]; then
        {
            NOM="3"
        }
        elif [ "$nom4" = "true" ]; then
        {
            NOM="4"
        }
        elif [ "$nom5" = "true" ]; then
        {
            NOM="5"
        }
        elif [ "$nom6" = "true" ]; then
        {
            NOM="6"
        }
        elif [ "$nom7" = "true" ]; then
        {
            NOM="7"
        }
        elif [ "$nom8" = "true" ]; then
        {
            NOM="8"
        }
        fi
        #Définition du répertoire
        REP=$FILE_DIRECTORY
        #Création du fichion de configuration
        echo "Chemin=$REP">~/.T1000-tag
        echo "Trie=$TRIE">>~/.T1000-tag
        echo "Nom=$NOM">>~/.T1000-tag

    }
    fi
    T1000-tag
    exit 0
}
fi
# Fichier chargé complétement?
export MAIN_DIALOG='
<window title="Attention" icon-name="gtk-dialog-warning" resizable="false" window_position="1">
  <vbox>
    <frame Attention>
      <text>
        <label>Merci de lancer le chargement de la musique avant de continuer T1000-tag</label>
      </text>
    </frame>
    <hbox>
      <button ok></button>
    </hbox>
  </vbox>
</window>
'
# Récupérer la sortie standard de Gtkdialog
VARIABLES=`gtkdialog --program MAIN_DIALOG`
# Créer les variables shell
eval $VARIABLES
### Sélection du dernier fichier flv présent dans /tmp/
file=$(ls -lt /tmp/Flash* | cut -d " " -f8 | head -n1)
# OK
if [ "$EXIT" = "OK" ]; then
{
    ##Fichier existant ?
        if [ -e "$file" ]; then
    {
        ### Chargement du fichier test
        export MAIN_DIALOG='
<window title="Téléchargement" icon-name="dialog-info" resizable="false" window_position="1">
  <vbox>
    <frame Progress :>
      <text>
        <label>Cette étape peut prendre plus ou moins de temps selon votre connexion.</label>
      </text>
      <progressbar>
        <label>Téléchargement en cours ...</label>
        <input>i=33.33333333 ; echo $i</input>
      </progressbar>
    </frame>
   </vbox>
</window>
'
        gtkdialog --program=MAIN_DIALOG 2>/dev/null &
        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
         )
        killall gtkdialog
        export MAIN_DIALOG='
<window title="Conversion Audio" icon-name="dialog-info" resizable="false" window_position="1">
  <vbox>
    <frame Progress :>
      <text>
        <label>Cette étape peut prendre plus ou moins de temps selon la durée de la chanson.</label>
      </text>
      <progressbar>
        <label>Conversion Audio en cours ...</label>
        <input>i=66.6666666 ; echo $i</input>
      </progressbar>
    </frame>
   </vbox>
</window>
'
        gtkdialog --program=MAIN_DIALOG 2>/dev/null &
        ### 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
            label="Génération de l'empreinte audio"
            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
            killall gtkdialog
            export MAIN_DIALOG='
<window title="'"$label"'" icon-name="dialog-info" resizable="false" window_position="1">
  <vbox>
    <frame Progress :>
      <text>
        <label>Cette étape peut prendre plus ou moins de temps selon la durée de la chanson.</label>
      </text>
      <progressbar>
        <label>'"$label"'</label>
        <input>i=99.9999999; echo $i</input>
      </progressbar>
    </frame>
   </vbox>
</window>
'
            gtkdialog --program=MAIN_DIALOG 2>/dev/null &
            verif=$(cat /tmp/conv/.PUID | grep "This <" | sed -e 's/.*<strong>//' | sed -e 's/<\/strong>.*//')           
            if [ "$verif" = "PUID" ]; then
            {
                ##### Tag non trouvé sur Musicbrainz©
                killall gtkdialog
                export MAIN_DIALOG='
<window title="Tag non trouvé" icon-name="dialog-info" resizable="false" window_position="1">
  <vbox>
    <frame Info :>
      <text>
        <label>Tag non trouvé sur Musicbrainz©. Que faire rentrez les tag :</label>
      </text>
    </frame>
    <hbox>
     <button>
       <input file icon="emblem-draft">"Manuellement"</input><label>Manuellement</label>
    </button>
     <button>
       <input file icon="emblem-web">Via la CDDB</input><label>Via la base de données CDDB</label>
    </button>
    </hbox>
  </vbox>
</window>
'
                # Récupérer la sortie standard de Gtkdialog
                VARIABLES=`gtkdialog --program MAIN_DIALOG`
                # Créer les variables shell
                eval $VARIABLES
                if [ "$EXIT" = "Via la base de données CDDB" ]; then
                {
                    ###### Tagage avec lltag (ID3 v1)
                    label="Entrez 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
                    xterm -geometry 170x60 -sb -rightbar -hold -e lltag --cddb-query "$cddb" /tmp/conv/conv.mp3
                    use_lltag="1"
                }
                elif [ "$EXIT" = "Manuellement" ]; then
                {
                    ###### Tagage manuel
                    export MAIN_DIALOG='
<window title="Rentrer 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>Track :  </label>
      </text>
      <entry>
    <variable>mtrack</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&/' | sed -e 's/\//-/g')
                    malbum=$(echo "$malbum" | sed 's/^./\u&/' | sed -e 's/\//-/g')
                    mgenre=$(echo "$mgenre" | sed 's/^./\u&/' | sed -e 's/\//-/g')
                    mtitre=$(echo "$mtitre" | sed 's/^./\u&/' | sed -e 's/\//-/g')
                    mtrack=$(echo "$mtrack" | sed 's/^./\u&/' | sed -e 's/\//-/g')
                    eyeD3 -a "$martiste" -A "$malbum" -t "$mtitre" -G "$mgenre" -n "$mbtrack" /tmp/conv/conv.mp3
                }
                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 | sed -e 's/\//-/g')
                mbalbum=$(cat /tmp/conv/.PUID | grep "/release/" | sed -e 's/.*">//g' | sed -e 's/<\/a.*//' | sed -e "s/'/'/g" | head -n1 | sed -e 's/\//-/g')
                mbtitre=$(cat /tmp/conv/.PUID | grep "/track/" | sed -e 's/.*">//g' | sed -e 's/<\/a.*//' | sed -e "s/'/'/g" | head -n1 | sed -e 's/\//-/g')
                mbtrack=$(cat /tmp/conv/.PUID | grep "no\">" | sed -e 's/.*">//g' | sed -e 's/<\/t.*//' | sed -e "s/'/'/g" | head -n1 | sed -e 's/\//-/g')
                ##### Affichage des Tags trouvés
                killall gtkdialog
                export MAIN_DIALOG='
<window title="tag trouvé sur Musicbrainz©" icon-name="help" resizable="false" window_position="1">
  <vbox>
    <hbox>
      <frame Artiste : >
        <text>
          <label># '"$mbartist"'</label>
        </text>
      </frame>
    </hbox>
    <hbox>
      <frame Album : >
        <text>
          <label># '"$mbalbum"'</label>
        </text>
      </frame>
    </hbox>
    <hbox>
      <frame Titre : >
        <text>
          <label># '"$mbtitre"'</label>
        </text>
      </frame>
    </hbox>
    <hbox>
      <frame Track : >
        <text>
          <label># '"$mbtrack"'</label>
        </text>
      </frame>
    </hbox>
    <hbox>
      <frame Les tags de Musibrainz© sont conforme ?>
        <button yes></button>
        <button no></button>
      </frame>
    </hbox>
  </vbox>
</window>'
                    ###### Récupérer la sortie standard de Gtkdialog
                    VARIABLES=`gtkdialog --program MAIN_DIALOG`
                    ###### Créer les variables shell
                    eval $VARIABLES   
                ##### Vérification des Tags
                if [ "$EXIT" = "Yes" ]; then
                {
                    ###### Tag conforme puis définition du Genre (pas donné par Musicbrainz©)
                    export MAIN_DIALOG='
<window title="Entrez le genre" icon-name="help" resizable="false" window_position="1">
  <vbox>
    <frame Entrez le genre>
      <combobox>
        <variable>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>
    </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 "$mgenre" -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
                    {
                        ###### Tagage avec lltag (ID3 v1)
                        label="Entrez 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
                        xterm -geometry 170x60 -sb -rightbar -hold -e lltag --cddb-query "$cddb" /tmp/conv/conv.mp3
                        use_lltag="1"
                    }
                    elif [ "$EXIT" = "Manuellement" ]; then
                    {
                        ###### Tagage manuel
                        export MAIN_DIALOG='
<window title="Rentrez 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>Track :  </label>
      </text>
      <entry>
    <variable>mtrack</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&/' | sed -e 's/\//-/g')
                        malbum=$(echo "$malbum" | sed 's/^./\u&/' | sed -e 's/\//-/g')
                        mgenre=$(echo "$mgenre" | sed 's/^./\u&/' | sed -e 's/\//-/g')
                        mtitre=$(echo "$mtitre" | sed 's/^./\u&/' | sed -e 's/\//-/g')
                        mtrack=$(echo "$mtrack" | sed 's/^./\u&/' | sed -e 's/\//-/g')
                        eyeD3 -a "$martiste" -A "$malbum" -t "$mtitre" -G "$mgenre" -n "$mbtrack" /tmp/conv/conv.mp3
                    }
                    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 Tag (ID3 v2.4) terminé !</label>
      </text>
    </frame>
    <hbox>
      <button ok></button>
    </hbox>
  </vbox>
</window>
'
        gtkdialog --program=MAIN_DIALOG
        ### Supression du fichier .PUID
        rm -f /tmp/conv/.PUID
        ### Extraction des variables (ruse siou)
        eyeD3 --rename="%Asupr1%asupr2%tsupr3%n" /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.*//' | sed -e 's/\//-/g')
        ALBUM=$(ls -lt /tmp/conv/*.mp3 | head -n1 | sed -e 's/.*tmp\/conv\///' | sed -e 's/.*supr1//' | sed -e 's/supr2.*//' | sed -e 's/\//-/g')
        TITRE=$(ls -lt /tmp/conv/*.mp3 | head -n1 | sed -e 's/.*tmp\/conv\///' | sed -e 's/.*supr2//' | sed -e 's/supr3.*//' | sed -e 's/\//-/g')
        NUMBER=$(ls -lt /tmp/conv/*.mp3 | head -n1 | sed -e 's/.*tmp\/conv\///' | sed -e 's/.*supr3//' | sed -e 's/.mp3.*//' | sed -e 's/\//-/g')
        GENRE=$(echo $mgenre | sed -e 's/\//-/g')
        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/.*=//' | sed -e 's/\//-/g')
            ALBUM=$(lltag -S /tmp/conv/"$MOVE" | grep "ALBUM" | sed -e 's/.*=//' | sed -e 's/\//-/g')
            TITRE=$(lltag -S /tmp/conv/"$MOVE" | grep "TITLE" | sed -e 's/.*=//' | sed -e 's/\//-/g')
            NUMBER=$(lltag -S /tmp/conv/"$MOVE" | grep "NUMBER" | sed -e 's/.*=//' | sed -e 's/\//-/g')
            GENRE=$(lltag -S /tmp/conv/"$MOVE" | grep "GENRE" | sed -e 's/.*=//' | sed -e 's/\//-/g')
        }
        fi
        ### Recuperation des paramètres
            dir=$(cat ~/.T1000-tag | grep "Chemin" | sed -e 's/Chemin=//')
            trie=$(cat ~/.T1000-tag | grep "Trie" | sed -e 's/Trie=//')
            nom=$(cat ~/.T1000-tag | grep "Nom" | sed -e 's/Nom=//')
        ### Création des dossiers selon la configuration
            case "$trie" in
                1 ) dir2="$dir/$ARTIST/";;
                2 ) dir2="$dir/$ALBUM/";;
                3 ) dir2="$dir/$GENRE/";;
                4 ) dir2="$dir/$ARTIST/$ALBUM/";;
                5 ) dir2="$dir/$ARTIST/$GENRE/";;
                6 ) dir2="$dir/$GENRE/$ARTIST/";;
                7 ) dir2="$dir/$GENRE/$ALBUM/";;
                8 ) dir2="$dir/$GENRE/$ARTIST/$ALBUM/";;
                9 ) dir2="$dir/";;
            esac
            mkdir -p "$dir2"
        ### Déplacement du mp3 dans le dossier selon la configuration
            case "$nom" in
                1 ) move2="$TITRE.mp3";;
                2 ) move2="$NUMBER-$TITRE.mp3";;
                3 ) move2="$ARTIST-$TITRE.mp3";;
                4 ) move2="$ALBUM-$TITRE.mp3";;
                5 ) move2="$NUMBER-$ARTIST-$TITRE.mp3";;
                6 ) move2="$NUMBER-$ALBUM-$TITRE.mp3";;
                7 ) move2="$ARTIST-$ALBUM-$TITRE.mp3";;
                8 ) move2="$NUMBER-$ARTIST-$ALBUM-$TITRE.mp3";;
            esac
            mv /tmp/conv/"$MOVE" "$dir2""$move2"
        export MAIN_DIALOG='
<window title="Programme terminé" icon-name="redo" resizable="false" window_position="1">
  <vbox>
    <frame Info :>
      <text>
        <label>Toute les opérations ont été effectuées avec succès, le titre a été rangé dans :</label>
      </text>
      <text>
        <label>'"$dir2$move2"'</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>Une erreur est survenue!</label>
      </text>
    </frame>
    <hbox>
      <button ok></button>
    </hbox>
  </vbox>
</window>
'
        gtkdialog --program=MAIN_DIALOG
    }
    fi
}
fi
#Demande de relancement de T1000-tag
export MAIN_DIALOG='
<window title="T1000-tag" icon-name="reload" resizable="false" window_position="1">
  <vbox>
    <frame Question :>
      <text>
        <label>Relancer T1000-tag ?</label>
      </text>
    </frame>
    <hbox>
      <button yes></button>
      <button no></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" = "Yes" ]; then
{
    T1000-tag
}
fi
exit 0

Dernière modification par blackbg (Le 25/04/2009, à 00:03)

Hors ligne

#346 Le 25/04/2009, à 01:16

l e . n o x

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

Bonsoir @ Tous,

Merci blackbg pour ta contribution wink

voici une nouvelle version T1000-Tag V2.1 (non officielle)
Telecharger : http://dl.free.fr/jjRBKGzAn

Modifications :
1240628508.png

- Changement du logo .
- Possibilité de Tagger un fichier déjà présent en Local "MP3Local"
- Correction des fautes d'orthographes fait par blackbg.


Bonne soirée @ Tous smile

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


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

#347 Le 25/04/2009, à 21:20

l e . n o x

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

Bonsoir @ Tous,

Version T1000-Tag V2.2 (nox)  :
Telechargement : http://dl.free.fr/veuquGO76

Nouveautées :
- Script installation / Désinstallation : "install_T1000-Tag"
- Correction dans la routine du "fichier de configuration" au demarrage.
- Possibilité de Tagger un fichier déjà présent en Local "MP3Local".

En image :

============================================================================
_________ __    _______  _______  _______     _________ _______  _______ 
\__   __//  \  (  __   )(  __   )(  __   )    \__   __/(  ___  )(  ____ \ 
   ) (   \/) ) | (  )  || (  )  || (  )  |       ) (   | (   ) || (    \/ 
   | |     | | | | /   || | /   || | /   | _____ | |   | (___) || |      
   | |     | | | (/ /) || (/ /) || (/ /) |(_____)| |   |  ___  || | ____ 
   | |     | | |   / | ||   / | ||   / | |       | |   | (   ) || | \_  )
   | |   __) (_|  (__) ||  (__) ||  (__) |       | |   | )   ( || (___) |
   )_(   \____/(_______)(_______)(_______)       )_(   |/     \|(_______)
 
===========================================================================

Que voulez vous faire ? :

 1 - I(installation)

 2 - D(esinstallation)

============================================================================
                               - V2.1(nox) - 
============================================================================

Questions : Au papa de T1000-Tag "re06011988"
Penses tu pouvoir incorporer ton script de rangement de "Biblioteque multimédia" dans "T1000-Tag" ?
T1000-Tag pourrait devenir un assez bon couteau suisse multimédia ...
Qu'en pensez vous ?

1240628508.png

Bonne soirée @ Tous smile

Dernière modification par l e . n o x (Le 25/04/2009, à 21:32)


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

#348 Le 26/04/2009, à 16:02

re06011988

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

Pourquoi pas sa peut être sympa

Hors ligne

#349 Le 27/04/2009, à 11:12

shakipu

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

Est-il possible de faire un rajout "Mise à jour" dans le script d'installation ? Parce que je vois pas comment mettre à jour...
Merci d'avance


Nous sommes tous des pécheurs face à l'Ethernet...

Hors ligne

#350 Le 27/04/2009, à 13:46

re06011988

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

pour faire la mise a jour tu réalise une installation sa marche aussi

Hors ligne