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.

#351 Le 28/04/2009, à 09:24

shakipu

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

Il ne reste plus qu'à compiler ça en .deb, de faire un article sur ubuntu-fr.org et de créer un dépot tongue


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

Hors ligne

#352 Le 29/04/2009, à 01:48

l e . n o x

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

Bonsoir @ Tous,

Pour essayer de faciliter l'intégration d'autres modules à T1000-Tag. J'ai commencé à réorganiser les différentes actions linéaires du code initial sous forme de plusieurs fonctions.

Dont voici, une première ébauche non fonctionnelle (Probleme de IF, ELSE etc ...)
La structure principale est à réorganiser .... big_smile

##########################################################################################################################
#
################################
##  Auteur : 06011988         ##
##     Version: 2.3           ##
##     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

#Variable du mp3 à tagger
FichierFlvMp3="/tmp/conv/conv.mp3"
FichierMp3Local=""

############################################################ Main #############################################
Main()
{
if [ "$CONFIG" = "0" ]; then

	export MAIN_DIALOG='
	<window icon-name="T1000-tag" title="- T1000-tag by Le.NoX - " 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>En cours ...</item>
		  <item>MP3Local</item>
		  <item>xxxxx</item>
		  <item>xxxxx</item>
		  <item>all</item>
		</combobox>

		<entry>
		  <variable>query</variable>
		  <default>Artiste / Titre ...</default>
		</entry>

	      <button>
		<input file stock="gtk-open"></input><label>MP3Local</label>
		<action type="fileselect">query</action>
	      </button>

	      </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
else
	echo "Chemin=$HOME/Musique
	Trie=1
	Nom=3" | tee $HOME/.T1000-tag
fi
}
#########################################################TestConfig################################################
TestConfig()
{
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é! config DIR OK</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é! config TRIE OK</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é! config NOM NOK </label>
          </text>
        </frame>
        <hbox>
          <button ok></button>
        </hbox>
      </vbox>
    </window>
    '
    gtkdialog --program MAIN_DIALOG
    }
    fi
}
fi
}
#############################################################BP_Main_Quitter############################################################
BP_Main_Quitter()
{
if [ "$EXIT" = "Cancel" ] || [ "$EXIT" = "abort" ]; then
{
    boulet="Merci d'avoir utilisé T1000-tag, Au revoir ;O)"
    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
}
############################################################BP_Main_OK#############################################################
BP_Main_OK()
{
if [ "$EXIT" = "OK" ]; then
{
    if [ "$search" = "xxxxx" ]; then
    {
        #Conversion des espaces en url html et autres charactères spéciaux
        mquery=$(echo $query | sed -e 's/ /%20/g' | sed -e 's/[éèêë]/e/g' | sed -e 's/à/a/g' | sed -e 's/[ôö]/o/g' | sed -e 's/ù/u/g' | sed -e 's/ç/c/g')
        ##Lancement de firefox
        firefox http://www.xxxx.com/#music/result/all/$mquery 2>/dev/null &
    }
    elif [ "$search" = "xxxxx" ]; then
    {
        ##Recherche à effectuer sur imeem
        #Conversion des espaces en url html et autres charactères spéciaux
        mquery=$(echo $query | sed -e 's/ /%20/g' | sed -e 's/[éèêë]/e/g' | sed -e 's/à/a/g' | sed -e 's/[ôö]/o/g' | sed -e 's/ù/u/g' | sed -e 's/ç/c/g')
        ##Lancement de firefox
        firefox http://www.xxxxx.com/tag/$mquery/music/ 2>/dev/null &
    }
    elif [ "$search" = "all" ]; then
    {
        #Conversion des espaces en url html et autres charactères spéciaux
        mquery=$(echo $query | sed -e 's/ /%20/g' | sed -e 's/[éèêë]/e/g' | sed -e 's/à/a/g' | sed -e 's/[ôö]/o/g' | sed -e 's/ù/u/g' | sed -e 's/ç/c/g')
        ##Lancement de firefox
        firefox http://www.xxxxx.com/#music/result/all/$mquery 2>/dev/null &
        firefox http://www.xxxxx.com/tag/$mquery/music/ 2>/dev/null &
    }
    elif [ "$search" = "MP3Local" ]; then
    {
FichierMp3Local=$query

echo $FichierMp3Local
cp -f "$FichierMp3Local" "$FichierFlvMp3"
    }
    fi
}
fi
}
#############################################################BP_Main_Aide############################################################
BP_Main_Aide() {
if [ "$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
fi
}
###########################################################BP_Main_Configuration##############################################################
BP_Main_Configuration()
{ 
if [ "$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
}
#########################################################SelectDernierFLV################################################################
SelectDernierFLV()
{
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/

if [ "$FichierMp3Local" = "" ]; then
file=$(ls -lt /tmp/Flash* | cut -d " " -f8 | head -n1)
echo $file
else 
file=$FichierMp3Local
fi
# 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>
'
	if [ "$FichierMp3Local" = "" ]; then
        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
         )
fi
}
#############################################################copie_Convert_Flv_MP3############################################################
copie_Convert_Flv_MP3()
{
	if [ "$FichierMp3Local" = "" ]; then
        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 $FichierFlvMp3 /tmp/conv/conv.flv
        ### supression du flv
        rm -f /tmp/conv/conv.flv
        ### Tag
	fi
}
######################################################Gene_PUID_recup_MusicBrain###################################################################
Gene_PUID_recup_MusicBrain()
{
            #### Génération du PUID du mp3
            label="Génération de l'empreinte audio"
            PUID=$(genpuid $key $FichierFlvMp3 | 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
}
###########################################################Tag_avec_CDDB##############################################################
Tag_avec_CDDB()
{
 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" $FichierFlvMp3
                   use_lltag="1"
}
fi
}
######################################################Tag_Non_Trouve_Musicbrainz###################################################################
Tag_Non_Trouve_Musicbrainz()
{     
            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
}
#####################################################Tag_Manuel####################################################################
Tag_Manuel()
{
if [ "$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>Ambient</item>
        <item>Dance</item>
        <item>Instrumental</item>
	<item>Jazz</item>
	<item>Pop</item>
        <item>R&B</item>
        <item>Rock</item>
	<item>Rap</item>
	<item>Techno</item>
	<item>Vocal</item>
	<item>*************</item>
        <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" $FichierFlvMp3
                }
                fi
}
#########################################################Tag_Trouve_Musicbrainz################################################################
Tag_Trouve_Musicbrainz()
{
                ##### 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>Ambient</item>
        <item>Dance</item>
        <item>Instrumental</item>
	<item>Jazz</item>
	<item>Pop</item>
        <item>R&B</item>
        <item>Rock</item>
	<item>Rap</item>
	<item>Techno</item>
	<item>Vocal</item>
	<item>*************</item>
        <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" $FichierFlvMp3   
                }
                if [ "$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
fi
fi
}
#########################################################################################################################

######################################################Tag_avec_lltag_CDDB###################################################################

Tag_avec_lltag_CDDB()
{
                    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" $FichierFlvMp3
                        use_lltag="1"
}
fi
}
#####################################################Tag_Manuel_CDDB####################################################################
Tag_Manuel_CDDB()
{
if [ "$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>Ambient</item>
        <item>Dance</item>
        <item>Instrumental</item>
	<item>Jazz</item>
	<item>Pop</item>
        <item>R&B</item>
        <item>Rock</item>
	<item>Rap</item>
	<item>Techno</item>
	<item>Vocal</item>
	<item>*************</item>
    <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" $FichierFlvMp3
            }
            fi
}
#########################################################Mise_en_Formedes_Tags################################################################
Mise_en_Formedes_Tags()
{
        ### Supression du fichier .PUID
        rm -f /tmp/conv/.PUID
        ### Extraction des variables (ruse siou)
        eyeD3 --rename="%Asupr1%asupr2%tsupr3%n" $FichierFlvMp3
        ### 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
}

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

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

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

##############################################  Ligne Principale ##################################################

#Verife du fichier de conf
test -e $HOME/.T1000-tag
CONFIG=$?

echo "Test presence de '$HOME/.T1000-tag' CONFIG= $CONFIG si config=1 Aucun fichier de config"
TestConfig

#Recherche
echo "$CONFIG"
Main

# OK
BP_Main_OK

# Quitte
BP_Main_Quitter

# Aide
BP_Main_Aide

# Configuration
BP_Main_Configuration

# Test dernier Fichier FLV chargé complétement?
SelectDernierFLV

#Barre de progression # # # # # # # # # # # # #
        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>
'
# # # # # # # # # # # # # #Barre de progression

copie_Convert_Flv_MP3

Gene_PUID_recup_MusicBrain


#Barre de progression # # # # # # # # # # # # #
            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>
'
# # # # # # # # # # # # # # Barre de progression

            gtkdialog --program=MAIN_DIALOG 2>/dev/null &
            verif=$(cat /tmp/conv/.PUID | grep "This <" | sed -e 's/.*<strong>//' | sed -e 's/<\/strong>.*//')   

Tag_Non_Trouve_Musicbrainz

Tag_avec_CDDB

Tag_Manuel

Tag_Trouve_Musicbrainz

Tag_avec_lltag_CDDB

Tag_Manuel_CDDB

Mise_en_Formedes_Tags

Deplace_MP3_trie

        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>
      <text>
        <label>Voulez vous relancer T1000-tag ?</label>
      </text>
    </frame>
    <hbox>
      <button yes></button>
      <button no></button>
    </hbox>
  </vbox>
</window>
'
#        gtkdialog --program=MAIN_DIALOG

                        ###### Récupérer la sortie standard de Gtkdialog
                        VARIABLES=`gtkdialog --program MAIN_DIALOG`
                        ###### Créer les variables shell
#    }
#    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>
      <text>
        <label>Voulez vous relancer T1000-tag ?</label>
      </text>
    </frame>
    <hbox>
      <button yes></button>
      <button no></button>
    </hbox>
  </vbox>
</window>
'
        gtkdialog --program=MAIN_DIALOG
#    }
#    fi
#}
#fi

eval $VARIABLES
if [ "$EXIT" = "Yes" ]; then
{
    T1000-tag
}
fi
}
exit 0

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

#353 Le 29/04/2009, à 18:40

gaju

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

J'adore le message quand on ferme le logiciel sans l'avoir utilisé lol.

Hors ligne

#354 Le 30/04/2009, à 22:57

nikokoko

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

Bonjour,

J'ai des petits soucis avec ton programme.
Pour commencer j'ai installé la version de la 1ere page (puisque j'ai pas pensé à regarder plus loin) et elle ne fonctionnait pas.
J'ai vu sur cette page la dernière version, après l'avoir dl j'ai désinstallé la 1ere version puis installé la nouvelle.
Malheureusement ça ne marche tjs pas sad (il ne se passe rien du tout après l'installation ou quand je lance le programme)

je sais pas si ca peut aider mais voici ce qui s'affiche lors de l'install :

============================================================

 Creation du fichier de configuration 

============================================================

Chemin=/home/nikoko/Musique

Trie=3

Nom=9



Done

============================================================

copie des fichiers T1000-tag genpuid© mipcore© dans /usr/bin

============================================================



Done



============================================================

Installation des paquets : w32codecs, ffmpeg, mplayer, lltag, mp3info, eyed3 et gtkdialog.

============================================================

Lecture des listes de paquets... Fait

Construction de l'arbre des dépendances       

Lecture des informations d'état... Fait

Aucune version du paquet w32codecs n'est disponible, mais il existe dans la base

de données. Cela signifie en général que le paquet est manquant, qu'il est devenu obsolète

ou qu'il n'est disponible que sur une autre source

E: Aucun paquet ne correspond au paquet w32codecs



Done

=================================================

Création d'un raccourci dans le Menu Principal

=================================================

cp: ne peut créer le fichier régulier `/usr/share/icons/Crux/scalable/actions/': Aucun fichier ou dossier de ce type

cp: ne peut créer le fichier régulier `/usr/share/icons/Mist/scalable/actions/': Aucun fichier ou dossier de ce type



Done



=================================================

 Vous trouverez le lanceur T1000-tag dans

( Applications => Son et vidéos => T1000-tag ) 

.================================================

Je vois qu'il y a des trucs qui ne se font pas correctement mais je ne sais pas comment les faire réussir...
Quelqu'un saurait pourquoi ca ne marche pas chez moi ?

Pour info j'ai ubuntu 9.04 (fraichement installé de samedi), c'est surement un truc tt bête mais je début sous linux donc...

merci d'avance!

#355 Le 01/05/2009, à 02:56

re06011988

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

As tu installer les depot de medibuntu ??

Hors ligne

#356 Le 01/05/2009, à 04:33

l e . n o x

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

Bonsoir @ tous big_smile

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

Nouveautés :
- Modification dans la procédure d'installation / Désinstallation.
- Ajout d'une barre de menu dans la GUI principale (Help, Configuration, Quitter, etc ..).
- Réécriture de certain bout de code, pour permettre l'intégration d'autres modules.
- Organisation du code sous forme de plusieurs fonctions (a améliorer roll ).

Remarques :
- Les nouvelles fonctions dans le menu Fichier / MP3Local <> Tag etc ... ne sont pas encore activées.

En image :

1241148777.png

Voici le nouveau code en lecture directe : (la chasse au bugs est ouverte ...  tongue )

#!/bin/sh
##########################################################################################################################
##                        Change log:                                          ##
##                        -----------                                ##
## un script sans ambiguïté avec le Warez, chose dont ce script n'est pas fait et ne sera jamais fait.            ##
##                                                            ##
##                                                Amicalement 06011988 / 
## V2.3 : Modif by Le.NoX					   ##
##                                                            ##
##########################################################################################################################
#
################################
##  Auteur : 06011988         ##
    Version="2.3  nox"      ##
##     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

#Variables
FichierFlvMp3="/tmp/conv/conv.mp3"
FichierMp3Local=""
Items_Genres()
{
echo "<item>Ambient</item>
        <item>Dance</item>
        <item>Instrumental</item>
	<item>Jazz</item>
	<item>Pop</item>
        <item>R&B</item>
        <item>Rock</item>
	<item>Rap</item>
	<item>Techno</item>
	<item>Vocal</item>
	<item>*************</item>
        <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>"
}
############################################################ GuiPrincipale #############################################
GuiPrincipale()
{
if [ "$CONFIG" = "0" ]; then

	export MAIN_DIALOG='

	<window icon-name="T1000-tag" title="- T1000-tag - " resizable="false" window_position="1">
	  <vbox>
	  
<menubar>
  <menu>
  
    <menuitem stock="MP3Local <> Tag Manuel"><label>MP3Local</label>
		<action type="fileselect">query</action>
    </menuitem>
	
	    <menuitem stock="MP3Local <> Tag Musicbrainz"><label>MP3Local</label>
		<action type="fileselect">query</action>
    </menuitem>
	
	    <menuitem stock="MP3Local <> Tag CDDB"><label>MP3Local</label>
		<action type="fileselect">query</action>
    </menuitem>
	
    <menuitem stock="gtk-quit">
      <action>EXIT:Cancel</action>
    </menuitem>
  <label>Fichier</label>
  </menu>
 
  <menu>
    <menuitem stock="gtk-preferences">
	<action>EXIT:Configuration</action>
    </menuitem>
	 <menuitem stock="gtk-about">
      <action>EXIT:Help</action>
    </menuitem>
  <label>Configuration</label>
  </menu>
</menubar>

	    <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>En cours ...</item>
		  <item>MP3Local</item>
		  <item>WebRadioLibre1</item>
		  <item>WebRadioLibre2</item>
		  <item>all</item>
		</combobox>

		<entry>
		  <variable>query</variable>
		  <default>Artiste / Titre ...</default>
		</entry>

	      <button>
		<input file stock="gtk-open"></input><label>MP3Local</label>
		<action type="fileselect">query</action>
	      </button>
	      </hbox>
	    </frame>
	    </hbox>
	    <hbox>
		 <checkbox>
		 <variable>CHECKBOX</variable>
		 <label>Manuel</label>
		 </checkbox>
	     <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
else
	echo "Chemin=$HOME/Musique
	Trie=1
	Nom=3" | tee $HOME/.T1000-tag
fi
}
#########################################################Test_Presence_Configuration################################################
Test_Presence_Configuration()
{
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 :" $Test_dir
    }
    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é! config DIR NOK</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 :" $Test_trie
    }
    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é! config TRIE NOK</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 :" $Test_nom
    }
    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é! config NOM NOK </label>
          </text>
        </frame>
        <hbox>
          <button ok></button>
        </hbox>
      </vbox>
    </window>
    '
    gtkdialog --program MAIN_DIALOG
    }
    fi
}
fi
}
############################################################BP_OK#############################################################
BP_GuiP_OK()
{	
    if [ "$search" = "WebRadioLibre1" ]; then
    {
        #Conversion des espaces en url html et autres charactères spéciaux
        mquery=$(echo $query | sed -e 's/ /%20/g' | sed -e 's/[éèêë]/e/g' | sed -e 's/à/a/g' | sed -e 's/[ôö]/o/g' | sed -e 's/ù/u/g' | sed -e 's/ç/c/g')
        ##Lancement de firefox
        firefox http://www.WebRadioLibre1.com/#music/result/all/$mquery 2>/dev/null &
    }
    elif [ "$search" = "WebRadioLibre2" ]; then
    {
        ##Recherche à effectuer sur WebRadioLibre2
        #Conversion des espaces en url html et autres charactères spéciaux
        mquery=$(echo $query | sed -e 's/ /%20/g' | sed -e 's/[éèêë]/e/g' | sed -e 's/à/a/g' | sed -e 's/[ôö]/o/g' | sed -e 's/ù/u/g' | sed -e 's/ç/c/g')
        ##Lancement de firefox
        firefox http://www.WebRadioLibre2.com/tag/$mquery/music/ 2>/dev/null &
    }
    elif [ "$search" = "all" ]; then
    {
        #Conversion des espaces en url html et autres charactères spéciaux
        mquery=$(echo $query | sed -e 's/ /%20/g' | sed -e 's/[éèêë]/e/g' | sed -e 's/à/a/g' | sed -e 's/[ôö]/o/g' | sed -e 's/ù/u/g' | sed -e 's/ç/c/g')
        ##Lancement de firefox
        firefox http://www.WebRadioLibre1.com/#music/result/all/$mquery 2>/dev/null &
        firefox http://www.WebRadioLibre2.com/tag/$mquery/music/ 2>/dev/null &
    }
    elif [ "$search" = "MP3Local" ]; then
    {
FichierMp3Local=$query

echo $FichierMp3Local
cp -f "$FichierMp3Local" "$FichierFlvMp3"
    }
    fi
}
############################################################BP_GuiP_Aide#############################################################
BP_GuiP_Aide()
{
    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 use-markup="true">
       <label>'"T1000-TaG - Version : $Version"'</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
}
#############################################################BP_GuiP_Quitter############################################################
BP_GuiP_Quitter()
{
    boulet="Merci d'avoir utilisé T1000-tag, Au revoir ;O)"
    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
}
#############################################################GuiPrincipal_BP############################################################
GuiPrincipal_BP()
{
# OK
if [ "$EXIT" = "OK" ]; then
	{ BP_GuiP_OK
	}
fi
# Quitte
if [ "$EXIT" = "Cancel" ] || [ "$EXIT" = "abort" ]; then
	{ BP_GuiP_Quitter
	}
# Aide
	elif [ "$EXIT" = "Help" ]; then
	{ BP_GuiP_Aide
	}
# Configuration
	elif [ "$EXIT" = "Configuration" ] || [ "$EXIT" = "Edition" ]; then
	{ BP_GuiP_Configuration
	}
fi
}

###########################################################BP_GuiP_Configuration##############################################################
BP_GuiP_Configuration()
{
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 
}
#########################################################Encoder_Flv_MP3 ################################################################
Encoder_Flv_MP3()
{        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>
'
	if [ "$FichierMp3Local" = "" ]; then
        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 $FichierFlvMp3 /tmp/conv/conv.flv
        ### supression du flv
        rm -f /tmp/conv/conv.flv
        ### Tag
	fi
}
#########################################################Tagger_Manuellement ################################################################
Tagger_Manuellement()
{
###### Tagage manuel
export MAIN_DIALOG="
<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>
	$(Items_Genres)			
      </combobox>
    </hbox>
    <hbox>
      <text>
        <label>Titre :  </label>
      </text>
      <entry>
        <variable>mtitre</variable>
      </entry>
    </hbox>
    <button ok></button>
  </vbox>"
                    ###### 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" $FichierFlvMp3
}
#########################################################Detect_Flv_tmp ################################################################
Detect_Flv_tmp()
{
### Sélection du dernier fichier flv présent dans /tmp/

if [ "$FichierMp3Local" = "" ]; then
file=$(ls -lt /tmp/Flash* | cut -d " " -f8 | head -n1)
echo "Variable File" $file
echo "Variable FichierMp3Local" $FichierMp3Local
else 
file=$FichierMp3Local
fi
}
######################################################### Message_2_FIN ################################################################
Message_2_FIN()
{
        export MAIN_DIALOG='
<window title="Programme terminé" icon-name="redo" resizable="false" window_position="1">
  <vbox>
    <frame Info :>
      <text>
        <label>Toutes les opérations ont été effectuées avec succès, le titre a été rangé dans :</label>
      </text>
      <text>
        <label>'"$dir2$move2"'</label>
      </text>
      <text>
        <label>Voulez vous relancer T1000-tag ?</label>
      </text>
    </frame>
    <hbox>
      <button yes></button>
      <button no></button>
    </hbox>
  </vbox>
</window>
'
#        gtkdialog --program=MAIN_DIALOG

                        ###### Récupérer la sortie standard de Gtkdialog
                        VARIABLES=`gtkdialog --program MAIN_DIALOG`
                        ###### Créer les variables shell
}
###################################################Tagage_avec_lltag_CDDB################################################################
Tagage_avec_lltag_CDDB()
{
                        ###### 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" $FichierFlvMp3
                        use_lltag="1"
}
###################################################Verification_tags_sur_CDDB################################################################
Verification_tags_sur_CDDB()
{
                    ###### 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" $FichierFlvMp3
                    use_lltag="1"
}
############################################################ Message_Erreur #############################################
Message_Erreur()
{
        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>
      <text>
        <label>Voulez vous relancer T1000-tag ?</label>
      </text>
    </frame>
    <hbox>
      <button yes></button>
      <button no></button>
    </hbox>
  </vbox>
</window>
'
        gtkdialog --program=MAIN_DIALOG
	}
######################################################### Main ################################################################
Main()
{
# 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

Detect_Flv_tmp

# 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>
'
	if [ "$FichierMp3Local" = "" ]; then
        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
         )
	fi
#        killall gtkdialog
#Encoder le fichier le fichier FLV en MP3
Encoder_Flv_MP3

#Verification des tags sur Musicbrainz
#Verification_tags_sur_Musicbrainz

            #### Génération du PUID du mp3
            label="Génération de l'empreinte audio"
            PUID=$(genpuid $key $FichierFlvMp3 | 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
                {
				Verification_tags_sur_CDDB
                }
                elif [ "$EXIT" = "Manuellement" ]; then
                {
				 Tagger_Manuellement
                }
                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="
  <vbox>
    <frame Entrez le genre>
      <combobox>
        <variable>mgenre</variable>
	$(Items_Genres)	
      </combobox>
    </frame>
    <button ok></button>
  </vbox>"
                    ###### 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" $FichierFlvMp3   
                }
                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_CDDB
					}
                    elif [ "$EXIT" = "Manuellement" ]; then
                    {
					Tagger_Manuellement	
					}
                    fi
                }
                fi
            }
            fi

        ### Supression du fichier .PUID
        rm -f /tmp/conv/.PUID
        ### Extraction des variables (ruse siou)
        eyeD3 --rename="%Asupr1%asupr2%tsupr3%n" $FichierFlvMp3
        ### 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"
	
	Message_2_FIN

    }
    else
    {
		Message_Erreur
    }
    fi
}
fi
eval $VARIABLES
if [ "$EXIT" = "Yes" ]; then
{
    T1000-tag
}
fi
}
#########################################################################################################################

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

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

##############################################     Menu   1     ##################################################

#Verife du fichier de conf
test -e $HOME/.T1000-tag
CONFIG=$?

echo "Test presence de '$HOME/.T1000-tag' CONFIG= $CONFIG si config=1 Aucun fichier de config"
Test_Presence_Configuration

echo "$CONFIG"
GuiPrincipale

# Bouton de GUI OK Quitter Aide Config
GuiPrincipal_BP

Main

exit 0

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

#357 Le 01/05/2009, à 04:45

l e . n o x

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

Rebonsoir,

@nikokoko : Comme le souligne re06011988 il est plus que probable que le depot Medinuntu ne soit pas activé sur ta toute belle Junty :

Voir la procédure décrite dans le script d'installation au dessous, sous la ligne
=========================================
- Pensez a valider le dépôt Medibuntu -
=========================================

  wink :

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

Que voulez vous faire ? :

 1 - I(nstallation)

 2 - D(esinstallation)

============================================================================
                               - 2.2 install(nox) - 
============================================================================
i


=========================================
 - Pensez a valider le dépôt Medibuntu - 
=========================================

Voici comment valider le depot Medibuntu pour Junty 
wget -q http://fr.packages.medibuntu.org/medibuntu-key.gpg -O- | sudo apt-key add -
echo deb http://packages.medibuntu.org/ jaunty free non-free | sudo tee -a /etc/apt/sources.list
sudo apt-get update

============================================================
 Creation du fichier de configuration 
============================================================
Chemin=/home/xxx/Musique
Trie=1
Nom=3

Done
============================================================
copie des fichiers T1000-tag genpuid© mipcore© dans /usr/bin
============================================================
[sudo] password for xxx: 
.......
....
...

Bon amusement avec T1000-TaG big_smile

@re06011988 As ton avis ton scripte de rangment de biblioteque poura t il s'integrer plus facilement dans cette nouvelle organisation du code de T1000-TaG ?
La barre de menu permettra d'ajouter plus facilement des boutons ou options supplémentaires, du moins j'espère ...

La boite aux idées est ouverte :
Que manque t il a T1000-TaG ?

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


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

#358 Le 01/05/2009, à 08:58

Dell-ubuntu

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

Merci d'abord pour ce super boulot.
Pour ne pas passer pour un ingrat voici , après relecture le (génial) code :

#!/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 underscrore pour le tri des mp3 (v1.4)								##
## -Amélioration de l'affichage (v1.4)											##
## -Utilisation eyeD3 pour la définition des variables de tri (Règle 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 fournis par eyeD3 -l (1.7)									##
## -Modification du fichier install pour incorporer les images et icones néccesaires 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 progress-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 changée prochainnement pour ne plus laisser de lien avec les sites Deezer et Imeem et devenir		##
##  un script sans ambiguité avec Warez pour lequel ce script n'est pas fait et ne sera jamais fait.			##
##															##
##												Amicalement 06011988	##
##															##
##########################################################################################################################
#
##########################
##  Auteur : 06011988	##
##     Version: 2.0	##
##     Licence: GNU	##
##########################
#
#L'auteur décline toute responsabilité de l'utilisation illégale de T1000-tag!


Les fichiers genpuid et mipcore sont à la proprieté de Musicip.com©

*Installation

1/Lancer le script install il faut posséder les droits d'administration sans "sudo" ni etre en root juste double cliquer et faire lancer dans un terminal
2/Lancer T1000-tag et cliquer sur configuration

*Utilisation

1/Lancer deezasteur présent dans Apllications>Son et vidéo>T1000-tag
2/Entrer votre recherche
3/Lancer le chargement de la musique (en fesant "play" sur le site)
4/Les tag devront être inserés automatiquement avec votre validation ou s'ils sont non conformes à la musique téléchargée vous avez la possibilité de rechercher avec la base de données CDDB ou bien les rentrer manuellement.

Chaque musique est triée selon vos désirs de configuration (cela trie une Bibliothèque rapidement et proprement, selon vos critères)

Pour tous report de bug : http://forum.ubuntu-fr.org/viewtopic.php?id=284667

#359 Le 01/05/2009, à 09:17

Dell-ubuntu

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

Maintenant les questions :

J'ai ouvert la console et glissé le script à l'intérieur. j'obtient ça :

philippe@dell-ubuntu:~$ '/home/philippe/Bureau/T1000-tag/install_T1000TaG' 
============================================================================
_________ __    _______  _______  _______     _________ _______  _______ 
\__   __//  \  (  __   )(  __   )(  __   )    \__   __/(  ___  )(  ____ \ 
   ) (   \/) ) | (  )  || (  )  || (  )  |       ) (   | (   ) || (    \/ 
   | |     | | | | /   || | /   || | /   | _____ | |   | (___) || |      
   | |     | | | (/ /) || (/ /) || (/ /) |(_____)| |   |  ___  || | ____ 
   | |     | | |   / | ||   / | ||   / | |       | |   | (   ) || | \_  )
   | |   __) (_|  (__) ||  (__) ||  (__) |       | |   | )   ( || (___) |
   )_(   \____/(_______)(_______)(_______)       )_(   |/     \|(_______)
 
===========================================================================

Que voulez vous faire ? :

 1 - I(nstallation)

 2 - D(esinstallation)

============================================================================
                               - 2.2 install(nox) - 
============================================================================
1


=========================================
 - Pensez a valider le dépôt Medibuntu - 
=========================================

Voici comment valider le depot Medibuntu pour Junty 
wget -q http://fr.packages.medibuntu.org/medibuntu-key.gpg -O- | sudo apt-key add -
echo deb http://packages.medibuntu.org/ jaunty free non-free | sudo tee -a /etc/apt/sources.list
sudo apt-get update

============================================================
 Creation du fichier de configuration 
============================================================
Chemin=/home/philippe/Musique
Trie=1
Nom=3

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

Done

============================================================
Installation des paquets : w32codecs, ffmpeg, mplayer, lltag, mp3info, eyed3 et gtkdialog.
============================================================
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
w32codecs est déjà la plus récente version disponible.
ffmpeg est déjà la plus récente version disponible.
mplayer est déjà la plus récente version disponible.
lltag est déjà la plus récente version disponible.
mp3info est déjà la plus récente version disponible.
eyed3 est déjà la plus récente version disponible.
gtkdialog est déjà la plus récente version disponible.
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.

Done
=================================================
Création d'un raccourci dans le Menu Principal
=================================================
cp: ne peut évaluer `T1000-tag.png': Aucun fichier ou dossier de ce type
cp: ne peut évaluer `T1000-tag.desktop': Aucun fichier ou dossier de ce type
cp: ne peut évaluer `T1000-tagfd.png': Aucun fichier ou dossier de ce type
cp: ne peut évaluer `T1000-tag.png': Aucun fichier ou dossier de ce type
cp: ne peut évaluer `T1000-tag.png': Aucun fichier ou dossier de ce type
cp: ne peut évaluer `T1000-tag.png': Aucun fichier ou dossier de ce type

Done

=================================================
 Vous trouverez le lanceur T1000-tag dans
( Applications => Son et vidéos => T1000-tag ) 
.================================================


Test presence de '/home/philippe/.T1000-tag' CONFIG= 0 si config=1 Aucun fichier de config
config DIR OK : /home/philippe/Musique
config TRIE OK : 1
config NOM OK : 3
0
EXIT="OK"
====================================================
 Procedure Terminée 
====================================================

 !! Si T1000-TaG ne se lance pas dans les 5 secondes !!
 Verifier qu'il n'y a pas eu d'erreur dans les logs du dessus 
philippe@dell-ubuntu:~$

Puis la fenêtre T1000-TaG se lance , donc ça marche.
Seulement je ne le trouve pas dans Applications/Son et Vidéo ...
Dois-je valider cette option ? :
Voici comment valider le depot Medibuntu pour Junty
wget -q http://fr.packages.medibuntu.org/medibuntu-key.gpg -O- | sudo apt-key add -
echo deb http://packages.medibuntu.org/ jaunty free non-free | sudo tee -a /etc/apt/sources.list
sudo apt-get update

Comment y arriver ?
Merci

Dernière modification par Dell-ubuntu (Le 01/05/2009, à 10:35)

#360 Le 01/05/2009, à 11:19

syubuntu

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

Il n'y aurait pas une sympathique personne ayant très envi de le porter en qt4?(peut être kdialog)
ça serait le top.


Arch[gnu/]linuxiens

Hors ligne

#361 Le 01/05/2009, à 11:34

nikokoko

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

Effectivement j'avais pas validé le depot Medibuntu pour Junty correctement !

Ca marche nickel, merci votre aide

je viens de recup un mp3 sur deezer (que j'ai déja acheté en CD biensur...) en 40s (dl + conversion) et c'est vraiment impressionnant comme ca fonctionne bien !

bravo pour ton taff ^^

#362 Le 01/05/2009, à 13:33

l e . n o x

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

Bonjour @ Tous, big_smile

@Dell-ubuntu : essaye de recuperer la derniere version du script version 2.3 .
(le script que tu viens de,corrigé d'apres se que je viens de voir est la version 2.0, merci tout de meme pour ton effort et ta participation ).

1) Telecharge cette archive : http://dl.free.fr/vRxLKiHUK (version 2.3 - pas encore validé par re06011988, mais fonctionnelle).

2) Extracte l'archive sur ton bureau par exemple, tu dois obtenir un truc du genre si tu listes l'interrieur du dossier obtenue :

------@ordisalon:~/Bureau/T1000-tag$ ls -l
total 13836
-rw-r--r-- 1 ------      4521 2009-01-23 20:41 A lire avant toute manipulation.txt
-rwxr-xr-x 1 ------  2686252 2009-01-10 01:51 genpuid
-rwxr-xr-x 1 ------  5829 2009-05-01 00:54 install_T1000TaG
-rwxr-xr-x 1 ------  11268300 2009-01-10 01:51 mipcore
-rwxr-xr-x 1 ------  39016 2009-05-01 05:04 T1000-tag
-rw-r--r-- 1 ------    38916 2009-05-01 04:55 T1000-tag~
-rw-r--r-- 1 ------      413 2009-04-25 02:38 T1000-tag.desktop
-rw-r--r-- 1 -----    95651 2009-04-25 01:18 T1000-tagfd.png
-rw-r--r-- 1 ------     6934 2009-04-25 01:22 T1000-tag.png

3) Si tous les fichiers son présent comme indiqué au dessus, tu n'as plus qu'a double cliquer sur "install_T1000-tag".

Rq: D'apres ton log, tu n'as pas besoin d'activer Medibuntu wink

@syubuntu : Perso, pour qt4 et kdialog je n'y connais rien mais je veux bien essayer avec toi smile

@nikokoko : cool !!! , Et un nouveau T1000-Tag, lâché dans la nature lol

@+

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


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

#363 Le 01/05/2009, à 14:06

syubuntu

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

Si je ne me trompe pas kdialog est l'équivalent de zenity. Ce n'est peut être pas assez puissant pour le faire correctement.
Peut être que qt-designer serait plus approprié(mais je ne crois pas que ça fonctionne avec du bash. Il faut c++ ou python.jamais fait mais python a l'air plus sympathique).
Je n'y connait rien non plus, mais c'est comme ça qu'on apprend smile

Dernière modification par syubuntu (Le 01/05/2009, à 14:52)


Arch[gnu/]linuxiens

Hors ligne

#364 Le 01/05/2009, à 15:08

Dell-ubuntu

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

@l e . n o x
Merci à toi de ton aide. Tout fonctionne très bien. Encore MERCI.

Je suis allé ensuite dans Système/Préférences/Menu principal
pour y rajouter à la main le chemin pour lancer cette application et son image (dans /usr/share/icons/Mashup/128x128/apps) si on y dépose l'image T1000-tag.png

Une tite contrib qui me fait plaisir.

#365 Le 01/05/2009, à 16:23

re06011988

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

Le.nox la version 2.3 est génial avec l'ajout en fonction chose que je n'avais pas reussit sa ameliore le coe et sa permet l'ouverture plus grande

qund au script de rangement de bibliotech il faut que je le revoit un peu car je doit trouver un programme qui lit les tag 1 et 2.4 sans probleme car sa me le fait buggé un peu

Ensuite lors de l'install on peut fair un controle de la presence du depot medibuntu assez simplement.

Apres que peut ton rajouter d'autre ??

Hors ligne

#366 Le 02/05/2009, à 11:10

Dell-ubuntu

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

re06011988 a écrit :

.../... Apres que peut ton rajouter d'autre ??

Une petite idée : comme tu as la main sur ton premier Post, tu devrais y inscrire les derniers liens de téléchargement.
Celà permet d'éviter (comme je l'ai fait) de choisir une version antérieure à cet EXCELLENT programme.
Et comme ça tout nouveau membre qui découvre cette merveille est heureux d'avoir la bonne version et d'y lire les bons conseils , remis à jour au fur et à mesure des amémiorations.

A savoir : nous n'avons pas tous le même niveau de compréhension quant aux manips à réaliser, un petit tuto simple permettrait d'augmenter encore le succès de ce programme génialissime .:P

Amicalement.

#367 Le 02/05/2009, à 17:01

shakipu

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

J'ai un super défi : faire un daemon de T1000-tag logé dans le systray et qui affiche un message lorsqu'on écoute une nouvelle musique sur deezer ( ou tout autre site du meme genre ) demandant si on veut télécharger la musique qui passe.
Sinon le plus dur je pense ( mais qui poserais des problèmes de droit ), c'est de faire une fenetre pour rechercher sur deezer ( donc qui liste les résultats de deezer ) et qui permette de télécharger la musique juste en cliquant dessus.
Donc voila 2 idées à creuser qui pourrait permettre le téléchargement sur Deezer plus aisé.


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

Hors ligne

#368 Le 02/05/2009, à 17:14

re06011988

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

@shakipu : La premiere idée est bonne mais je n'est pas les conaissance ...

quand a la 2eme c'été fait lors de la V1.9 mais enlever car illégal et n'avait pas sa place ici donc on la enlever pour continuer ce projet et l'ameliorer encore et encore

@Dell-ubuntu :

J'attend une version stable

Hors ligne

#369 Le 02/05/2009, à 21:13

shakipu

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

Pssst, moi je suis interessé par la v1.9... Sinon en quoi est-ce illégal ?


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

Hors ligne

#370 Le 02/05/2009, à 21:19

spatz

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

Il est interdit par la Loi de pirater et de créer un logiciel destiné expressément à pirater.


PLOP ! Blogueur ! Râleur ! Agnostique ! Architecte ! Floodeur ! Gentil ! Chiant ! Fourbe ! Crâneur ! GNU/Windows/Linuxien ! Machiavélique ! Beau ! Républicain ! Intelligent ! Bosseur ! Très Prétentieux ! Scientifique ! Frimeur ! Étudiant !  De bonne foi ! Perverti ! Ubunteros ! Grand ! Sociable! Altruiste ! Provoc' ! Censé !

Hors ligne

#371 Le 02/05/2009, à 21:20

shakipu

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

mmmh... Après on pose le troll éternel du "récupérer des fichiers téléchargés dans les temporaires dans le but de les consulter est-il du piratage ?"

EDIT : vis-à-vis de mon idée de daemon, c'est en essayant Freezer, la version Windows pour pirater Deezer que ça m'est venu. Freezer utilise le proxy localhost 8800 ( il faut donc que Firefox soit réglé sur ce proxy ) mais pour le reste je ne sais pas comment ça marche... Le truc c'est qu'il faut le laisser allumer et dès qu'on met une musique, il la télécharge automatiquement. On peut aussi charger plusieurs musiques.

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


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

Hors ligne

#372 Le 02/05/2009, à 22:16

l e . n o x

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

Bonsoir @ Tous wink

@shakipu : T1000-Tag est un outil développé par des bricolos pour des bricolos. big_smile

Par définition si tu traines sur ce forum, tu fais partie du club tongue

Il t'es très facilement possible de transformer n'importe quels logiciels dont T1000-Tag en ce que tu veux et pour en faire ce que tu veux....

A toi de paramétrer tes propres "WebRadioLibre" BP_GuiP_OK() dans T1000-Tag pour pointer ou tu veux .....

Cependant comme la écrit le Papa de T1000-Tag :

un script sans ambiguïté avec le Warez, chose dont ce script n'est pas fait et ne sera jamais fait.

ou

L'auteur décline toute responsabilité en cas d'utilisation illégale de T1000-tag!

L'intérêt premier de T1000-Tag est sa capacité a Tagger de 3 façons differentes et avec simplicitée des fichiers audios.

PS : Si quelqu'un connait des WebradioLibre , utilisant le dossier /tmp/fichier.flv comme stockage temporaire pouvez vous les communiquer sur le forum, il serait interressent de les intégrer dans T1000-Tag smile

Bonne soirée @ vous tous et bon

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


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

#373 Le 02/05/2009, à 22:20

re06011988

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

Pour Deezer c'est illegal car sa va a l'encontre des regle du site deezer donc on setale pas plus car de toute facon c'est détaillier 10 page avant ...

Pour ce qui est du daemon nous on passe par la RAM et non par un systeme de proxy toute fois j'ai une idée mais j'ai peur que sa ralentisse le pc voir même le plante ...

Hors ligne

#374 Le 02/05/2009, à 22:51

shakipu

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

Je crois que j'avais pas du tout compris le système de T1000-tag ( en meme temps j'ai pas lu le script ). Je croyais qu'il récupérais le fichier Fla* dans /tmp ?
Enfin bref, si t'as une idée, n'hésite pas à essayer, ça peut mener à une piste.


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

Hors ligne

#375 Le 02/05/2009, à 23:25

re06011988

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

l'idée ce serait de faireune boucle qui recherche ces fichier Flash* mais j'ai peur ke la boucle ralentisse et fasse bugger le systeme

Hors ligne