#176 Le 18/01/2009, à 12:42
- rom_185
Re : [Aide] Script qui télécharge convertie tag et range les mp3
Ca marche merci beaucoup !
Et bonne continuation .
BOINC, ou les grandes énigmes de la science résolues en 2 temps 3 calculs :D
"I reject your reality and substitue my own" – Adam Savage
Hors ligne
#177 Le 18/01/2009, à 13:05
- re06011988
Re : [Aide] Script qui télécharge convertie tag et range les mp3
@rom
cool
@l e . n o x
sa sent le connaiseur de Terminator [hs]Vivement le 4 en juin[/hs]
en gros tu remplace le .desktoop par une creation dans le install.sh c'est sa
le probleme c'est que si il est existant sa marche pas
Mes script : T1000tag~Série pour conky
Hors ligne
#178 Le 18/01/2009, à 13:54
- MCMic
Re : [Aide] Script qui télécharge convertie tag et range les mp3
Ça l'intéresse de pouvoir nommer les fichiers "Numero - titre.mp3"!
Hors ligne
#179 Le 18/01/2009, à 13:59
- MCMic
Re : [Aide] Script qui télécharge convertie tag et range les mp3
J'ai trouvé, c'est dans le "if [ "$use_lltag" = "1" ]"
la ligne "TITRE=$(lltag -S /tmp/conv/"$MOVE" | grep "TITLE" | sed -e 's/.*=//')"
remplace les - par des /.
C'est le lltag qui fait ça en fait. Je sais pas pourquoi dans le nom du fichier le titre est ti - tre.mp3 et dans le tag c'est ti / titre.
Du coup ça fait foirer le mv.
Mais de toutes façon actuellement ton script buggera s'il y a un "/" dans le nom de la chanson. (au niveau du mv final)
Hors ligne
#180 Le 18/01/2009, à 14:51
- re06011988
Re : [Aide] Script qui télécharge convertie tag et range les mp3
peut tu me donner le titre de ta chanson et son auteur que je test avec lltag sur un fichier mp3 bidon car je n'arrive pas avoir ce bug quand je rentre maniellement un - dans un tag il me plante pas
Mes script : T1000tag~Série pour conky
Hors ligne
#181 Le 18/01/2009, à 15:06
- syubuntu
Re : [Aide] Script qui télécharge convertie tag et range les mp3
bon je regarde pour que l'utilisateur gère la structure du nom de fichier.
et je met mon code avec ta version parce que je crois que j'ai fais un merde.
edit : le script install devrait peut être gérer seulement les dépendances et la place des dossiers.
et tu construit les dossiers obligatoire pour la marche du script avec un mkdir -p
dans le script lui même.comme ça si la personne supprime le dossier ben le script marche quand même.
Dernière modification par syubuntu (Le 18/01/2009, à 15:25)
Arch[gnu/]linuxiens
Hors ligne
#182 Le 18/01/2009, à 15:35
- MCMic
Re : [Aide] Script qui télécharge convertie tag et range les mp3
c'est ce que j'ai fait dans ma version. je faisais un mkdir de /tmp/conv
Hors ligne
#183 Le 18/01/2009, à 16:01
- syubuntu
Re : [Aide] Script qui télécharge convertie tag et range les mp3
tu fais
mkdir /tmp/conv
donc si le dossier existe déjà ça plante.à moins que tu supprimes toi même le dossier à la fin j'ai pas regardé.
bref c'est plus simple un mkdir -p qui construit les parents si manquant et qui ne dit rien si le dossier existe
Arch[gnu/]linuxiens
Hors ligne
#184 Le 18/01/2009, à 16:20
- syubuntu
Re : [Aide] Script qui télécharge convertie tag et range les mp3
voila ça marche pour le classement par dossier j'ai verifier et corrigé.il y a une seule fonction, c'est configuration et c'est parce que on en a besoin à plusieurs endroit, mais il suffit de recopier.
Est il possible dans une liste de spécifier la valeur par defaut? Pour que si la personne veux modifier son fichier de config ça lui mette dans la fenêtre sa configuration comme elle était avant
ça fait 2h que je cherche pour enlever ces if horribles à la fin et je n'ai pas trouvé.
j'aurais voulu écrire par exemple ARTIST dans le fichier config
et arriver a prendre ce qu'il y a dans le fichier donc ARTIST et le mettre dans une variable par exemple rang1
et ensuite arriver avec rang1 à faire $ARTIST pour avoir le nom de l'artiste
donc
rang1=ARTISTE
quelque chose $rang1 donne le nom de l'artiste.
j'ai pas d'idée
#!/bin/sh
##########################################################################################################################
## Change log: ##
## ----------- ##
## ##
## -Utilisation de lltag -S au lieu de MP3info (v1.0) ##
## -Correction des fautes de nortograffe :) (All) ##
## -Utilisation de genpuid© et mipcore© pour générer le puid du MP3 Musicip© (http://www.musicip.com) ##
## -Utilisation de la BD Musicbrainz pour récupérer les tags auto (v1.3) ##
## -Ouverture de DEEZER avec la recherche demandée (v1.3) ##
## -Récupération du dernier Flash*** présent dans le /tmp/ (Merci à AnsuzPeorth) (v1.2) ##
## -Utilisation de eyeD3 pour tag v1.1 et V2.4 (v1.2) ##
## -Amélioration des recherches CDDB avec lltag (v1.3) ##
## -Détermine si le chargement est complet automatiquement (Merci à AnsuzPeorth) (v1.3) ##
## -Différent choix de recherche (v1.4) ##
## -Correction du bug quand plusieurs Flash** dans /tmp/ (v1.4) ##
## -Correction du bug pour la requête sur CDDB (v1.4) ##
## -Correction du bug des tag quand le PUID donne plusieurs réponses ##
## -Suppression des underscrore pour le trie des mp3 (v1.4) ##
## -Amélioration de l'affichage (v1.4) ##
## -Utilisation eyeD3 pour la définition des variables de trie (Regle le problème d'accent) (ruse de sioux) (v1.4) ##
## -Mise en Majuscule de la première lettre de chaque tag rentré manuellement (v1.4) ##
## -Conversion réalisée dans ~/MP3/conv pour que ça soit plus propre et rangé (v1.4) ##
## -Création d'un installeur automatique (v1.5) ##
## -Modification de la requête Imeem pour n'afficher que des musiques (v1.5) ##
## -Ajout en prévision des images de fond et icônes (v1.5) ##
## -Ajout en prévision du raccourci dans Application>Son et videos>Deezaster (v1.5) ##
## -Raccourci ajouté (v1.6) ##
## -Interface grafique (v1.7) ##
## -Utilisation des genres fournie par eyeD3 -l (1.7) ##
## -Modification du fichier install pour incorporer les images et icone néccesaire pour la version grafique (v1.7) ##
## -Correction de bug diverse (v1.7) ##
## -Amélioration de l'execution du script et simplification des opération conditionnelle (v1.7) ##
## ##
## -Affin de respecter les lois régissant internet dans mon beau pays des droits de l'Homme cette ##
## version sera changer prochainnement pour ne plus laisser de lien avec les sites Deezer et Imeem et devenir un script##
## sans ambigueter avec le Warez chose dons ce script n'est pas fait et ne sera jamais fait. ##
## ##
## Amicalement 06011988 ##
## ##
##########################################################################################################################
#
##########################
## Auteur : 06011988 ##
## Version: 1.7 ##
## Licence: GNU ##
##########################
#
#L'auteur décline toutes responsabilités de l'utilisation illégale de deezaster!
#
# Clé d'utilisation de genpuid (Fourni par Musicdns.com)
key=3839dbda127e29ccd213da2be833b756
configuration(){
export MAIN_DIALOG='
<vbox>
<frame répertoire>
<hbox>
<vbox>
<entry accept="directory">
<label>Selectionner un repertoire</label>
<variable>FILE_DIRECTORY</variable>
</entry>
<button>
<input file stock="gtk-open"></input>
<variable>FILE_BROWSE_DIRECTORY</variable>
<action type="fileselect">FILE_DIRECTORY</action>
</button>
</vbox>
<vbox>
<combobox>
<variable>rang1</variable>
<item>Artiste</item>
<item>Genre</item>
<item>Album</item>
<item></item>
</combobox>
</vbox>
<vbox>
<combobox>
<variable>rang2</variable>
<item>Album</item>
<item>Genre</item>
<item>Artiste</item>
<item></item>
</combobox>
</vbox>
<vbox>
<combobox>
<variable>rang3</variable>
<item></item>
<item>Genre</item>
<item>Album</item>
<item>Artiste</item>
</combobox>
</vbox>
</hbox>
</frame>
<hbox>
<button ok></button>
<button cancel></button>
</hbox>
</vbox>
'
VARIABLES=`gtkdialog --program MAIN_DIALOG`
eval $VARIABLES
if [ "$EXIT" = "OK" ] ; then
if [ -d "$FILE_DIRECTORY" ] ; then
echo "chemin=$FILE_DIRECTORY">~/.deezaster/config
echo -e "rang1=$rang1\nrang2=$rang2\nrang3=$rang3" >>~/.deezaster/config
else
configuration
exit 0
fi
elif [ "$EXIT" = "cancel" ] ; then
exit 0
else
exit 0
fi
}
if [ -r ~/.deezaster/config ]; then
dossier=$(cat ~/.deezaster/config | grep "dossier" | sed -e 's/dossier=//')
rang1=$(cat ~/.deezaster/config | grep "rang1" | sed -e 's/rang1=//')
rang2=$(cat ~/.deezaster/config | grep "rang2" | sed -e 's/rang2=//')
rang3=$(cat ~/.deezaster/config | grep "rang3" | sed -e 's/rang3=//')
#Recherche
export MAIN_DIALOG='
<window icon-name="deezaster" title="Deezaster" resizable="false" window_position="1">
<vbox>
<hbox>
<pixmap>
<input file>/usr/share/pixmaps/deezasterfd.png</input>
</pixmap>
</hbox>
<hbox>
<frame Sur quel site effectuer une recherche?>
<hbox>
<combobox>
<variable>search</variable>
<item>Deezer</item>
<item>Imeem</item>
<item>Les 2</item>
<item>Fichier déjà en cours de chargement</item>
</combobox>
<entry>
<variable>query</variable>
<default>Artiste ou chanson à rechercher ...</default>
</entry>
</hbox>
</frame>
</hbox>
<hbox>
<button ok></button>
<button help></button>
<button cancel></button>
</hbox>
</vbox>
</window>
'
# Récupérer la sortie standard de Gtkdialog
VARIABLES=`gtkdialog --program MAIN_DIALOG`
# Créer les variables shell
eval $VARIABLES
# OK
if [ "$EXIT" = "OK" ]; then
{
if [ "$search" = "Deezer" ]; then
{
#Conversion des espaces en url html et autres charactères spéciaux
mquery=$(echo $query | sed -e 's/ /%20/g' | sed -e 's/[éèêë]/e/g' | sed -e 's/à/a/g' | sed -e 's/[ôö]/o/g' | sed -e 's/ù/u/g' | sed -e 's/ç/c/g')
##Lancement de firefox
firefox http://www.deezer.com/#music/result/all/$mquery 2>/dev/null &
}
elif [ "$search" = "Imeem" ]; then
{
##Recherche à effectuer sur imeem
#Conversion des espaces en url html et autres charactères spéciaux
mquery=$(echo $query | sed -e 's/ /%20/g' | sed -e 's/[éèêë]/e/g' | sed -e 's/à/a/g' | sed -e 's/[ôö]/o/g' | sed -e 's/ù/u/g' | sed -e 's/ç/c/g')
##Lancement de firefox
firefox http://www.imeem.com/tag/$mquery/music/ 2>/dev/null &
}
elif [ "$search" = "Les 2" ]; then
{
#Conversion des espaces en url html et autres charactères spéciaux
mquery=$(echo $query | sed -e 's/ /%20/g' | sed -e 's/[éèêë]/e/g' | sed -e 's/à/a/g' | sed -e 's/[ôö]/o/g' | sed -e 's/ù/u/g' | sed -e 's/ç/c/g')
##Lancement de firefox
firefox http://www.deezer.com/#music/result/all/$mquery 2>/dev/null &
firefox http://www.imeem.com/tag/$mquery/music/ 2>/dev/null &
}
fi
}
# Quitte
elif [ "$EXIT" = "Cancel" ]; then
{
boulet="Merci d'avoir lancer deezaster pour ne pas l'utiliser c'est mâlin ..."
export MAIN_DIALOG='
<window title="Au revoir" icon-name="stop" resizable="false" window_position="1">
<vbox>
<frame Boulet :>
<text>
<label>'"$boulet"'</label>
</text>
</frame>
<hbox>
<button ok></button>
</hbox>
</vbox>
</window>
'
gtkdialog --program=MAIN_DIALOG
exit 0
}
# Aide
elif [ "$EXIT" = "Help" ]; then
{
legal="L'auteur décline toutes responsabilités de l'utilisation illégale de deezaster!"
export MAIN_DIALOG='
<window title="About" icon-name="help" resizable="false" window_position="1">
<vbox>
<frame Information :>
<text use-markup="true">
<label>"<b>Script réalisé par:</b> 06011988"</label>
</text>
<text>
<label>'"$legal"'</label>
</text>
<text use-markup="true">
<label>"<b>Pour tout bugs:</b>"</label>
</text>
<text selectable="true">
<label>http://forum.ubuntu-fr.org/viewtopic.php?pid=2338606</label>
</text>
</frame>
<hbox>
<button ok></button>
</hbox>
</vbox>
</window>
'
gtkdialog --program=MAIN_DIALOG
deezaster
exit 0
}
fi
# Fichier chargé complétement?
export MAIN_DIALOG='
<window title="Attention" icon-name="gtk-dialog-warning" resizable="false" window_position="1">
<vbox>
<frame Attention>
<text>
<label>Merci de lancer le chargement de la musique avant de continuer Deezaster</label>
</text>
</frame>
<hbox>
<button ok></button>
</hbox>
</vbox>
</window>
'
# Récupérer la sortie standard de Gtkdialog
VARIABLES=`gtkdialog --program MAIN_DIALOG`
# Créer les variables shell
eval $VARIABLES
### Sélection du dernier fichier flv présent dans /tmp/
file=$(ls -lt /tmp/Flash* | cut -d " " -f8 | head -n1)
# OK
if [ "$EXIT" = "OK" ]; then
{
##Fichier existant ?
if [ -e "$file" ]; then
{
### Chargement du fichier test
export MAIN_DIALOG='
<window title="Téléchargement" icon-name="dialog-info" resizable="false" window_position="1">
<vbox>
<frame Info :>
<text>
<label>Validé pour que téléchargement debute.</label>
</text>
<text>
<label>cette étape peut prendre plus ou moin de temps selon votre connexion, une fenêtre apparaitera une fois la tache éxecutée</label>
</text>
</frame>
<hbox>
<button ok></button>
</hbox>
</vbox>
</window>
'
gtkdialog --program=MAIN_DIALOG
var=$(ls -lt /tmp/Flash* | cut -d " " -f5 | head -n1)
(
until [ "$var" = "$var1" ]
do
var1=$var
sleep 2
var=$(ls -lt /tmp/Flash* | cut -d " " -f5 | head -n1)
done
)
export MAIN_DIALOG='
<window title="Téléchargement terminé" icon-name="dialog-info" resizable="false" window_position="1">
<vbox>
<frame Info :>
<text>
<label>Téléchargement terminé! La Conversion audio va débutée</label>
</text>
<text>
<label>Cette étape peut prendre plus ou moin de temps selon la durée de la chanson, une fenêtre apparaitera une fois la tache éxecutée</label>
</text>
</frame>
<hbox>
<button ok></button>
</hbox>
</vbox>
</window>
'
gtkdialog --program=MAIN_DIALOG
### Copie du fichier de /tmp a /home/MP3/
mkdir -p ~/MP3/conv/
cp $file ~/MP3/conv/conv.flv
### Conversion FLV->MP3
mplayer -dumpaudio -dumpfile ~/MP3/conv/conv.mp3 ~/MP3/conv/conv.flv
### supression du flv
rm -f ~/MP3/conv/conv.flv
### Tag
#### Génération du PUID du mp3
label="Conversion audio terminée! Génération de l'empreinte audio"
PUID=$(genpuid $key ~/MP3/conv/conv.mp3 | grep " puid: " | sed -e 's/.*puid: //')
#### Récupération des tags avec Musicbrainz©
wget -O ~/MP3/conv/.PUID http://musicbrainz.org/show/puid/?puid=$PUID
#### Vérification des tags
export MAIN_DIALOG='
<window title="Conversion audio terminée" icon-name="dialog-info" resizable="false" window_position="1">
<vbox>
<frame Info :>
<text>
<label>'"$label"'</label>
</text>
<text>
<label>Cette étape peut prendre plus ou moin de temps selon la durée de la chanson, une fenêtre apparaitera une fois la tache éxecutée</label>
</text>
</frame>
<hbox>
<button ok></button>
</hbox>
</vbox>
</window>
'
gtkdialog --program=MAIN_DIALOG
verif=$(cat ~/MP3/conv/.PUID | grep "This <" | sed -e 's/.*<strong>//' | sed -e 's/<\/strong>.*//')
if [ "$verif" = "PUID" ]; then
{
##### Tag non trouvé sur Musicbrainz©
export MAIN_DIALOG='
<window title="Tag non trouvé" icon-name="dialog-info" resizable="false" window_position="1">
<vbox>
<frame Info :>
<text>
<label>Tag non trouvé sur Musicbrainz©. Que faire rentrez les tag :</label>
</text>
</frame>
<hbox>
<button>
<input file icon="emblem-draft">"Manuellement"</input><label>Manuellement</label>
</button>
<button>
<input file icon="emblem-web">Via la CDDB</input><label>Via la base de données CDDB</label>
</button>
</hbox>
</vbox>
</window>
'
# Récupérer la sortie standard de Gtkdialog
VARIABLES=`gtkdialog --program MAIN_DIALOG`
# Créer les variables shell
eval $VARIABLES
if [ "$EXIT" = "Via la base de données CDDB" ]; then
{
###### Tagage avec lltag (ID3 v1)
label="Entrer le nom de l'artiste ou l'album puis laissez vous guider:"
export MAIN_DIALOG='
<window title="Recherche CDDB" icon-name="help" resizable="false" window_position="1">
<vbox>
<text>
<label>'"$label"'</label>
</text>
<entry>
<variable>cddb</variable>
</entry>
<button ok></button>
</vbox>
</window>'
###### Récupérer la sortie standard de Gtkdialog
VARIABLES=`gtkdialog --program MAIN_DIALOG`
###### Créer les variables shell
eval $VARIABLES
###### Lancement de lltag dans un terminal
gnome-terminal -x lltag --cddb-query "$cddb" ~/MP3/conv/conv.mp3
use_lltag="1"
}
elif [ "$EXIT" = "Manuellement" ]; then
{
###### Tagage manuel
export MAIN_DIALOG='
<window title="Rentré les tags manuellement" icon-name="help" resizable="false" window_position="1">
<vbox>
<hbox>
<text>
<label>Artiste :</label>
</text>
<entry>
<variable>martiste</variable>
</entry>
</hbox>
<hbox>
<text>
<label>Album : </label>
</text>
<entry>
<variable>malbum</variable>
</entry>
</hbox>
<hbox>
<text>
<label>Genre : </label>
</text>
<combobox>
<variable>mgenre</variable>
<item>Blues</item>
<item>A Cappella</item>
<item>Acid</item>
<item>Acid Punk</item>
<item>Acoustic</item>
<item>Alternative</item>
<item>AlternRock</item>
<item>Ambient</item>
<item>Anime</item>
<item>Avantgarde</item>
<item>Ballad</item>
<item>Bass</item>
<item>Beat</item>
<item>Bebob</item>
<item>Big Band</item>
<item>Black Metal</item>
<item>Bluegrass</item>
<item>Booty Bass</item>
<item>BritPop</item>
<item>Cabaret</item>
<item>Celtic</item>
<item>Chamber Music</item>
<item>Chanson</item>
<item>Chorus</item>
<item>Christian Gangsta Rap</item>
<item>Christian Rap</item>
<item>Christian Rock</item>
<item>Classic Rock</item>
<item>Classical</item>
<item>Club</item>
<item>Club-House</item>
<item>Comedy</item>
<item>Contemporary Christian</item>
<item>Country</item>
<item>Crossover</item>
<item>Cult</item>
<item>Dance</item>
<item>Dance Hall</item>
<item>Darkwave</item>
<item>Death Metal</item>
<item>Disco</item>
<item>Dream</item>
<item>Drum & Bass</item>
<item>Drum Solo</item>
<item>Duet</item>
<item>Easy Listening</item>
<item>Electronic</item>
<item>Ethnic</item>
<item>Euro-House</item>
<item>Euro-Techno</item>
<item>Eurodance</item>
<item>Fast Fusion</item>
<item>Folk</item>
<item>Folk-Rock</item>
<item>Folklore</item>
<item>Freestyle</item>
<item>Funk</item>
<item>Fusion</item>
<item>Game</item>
<item>Gangsta Rap</item>
<item>Goa</item>
<item>Gospel</item>
<item>Gothic</item>
<item>Gothic Rock</item>
<item>Grunge</item>
<item>Hard Rock</item>
<item>Hardcore</item>
<item>Heavy Metal</item>
<item>Hip-Hop</item>
<item>House</item>
<item>Humour</item>
<item>Indie</item>
<item>Industrial</item>
<item>Instrumental</item>
<item>Instrumental Pop</item>
<item>Instrumental Rock</item>
<item>Jazz</item>
<item>Jazz+Funk</item>
<item>JPop</item>
<item>Jungle</item>
<item>Latin</item>
<item>Lo-Fi</item>
<item>Meditative</item>
<item>Merengue</item>
<item>Metal</item>
<item>Musical</item>
<item>National Folk</item>
<item>Native American</item>
<item>Negerpunk</item>
<item>New Age</item>
<item>New Wave</item>
<item>Noise</item>
<item>Oldies</item>
<item>Opera</item>
<item>Other</item>
<item>Polka</item>
<item>Polsk Punk</item>
<item>Pop</item>
<item>Pop / Funk</item>
<item>Pop-Folk</item>
<item>Porn Groove</item>
<item>Power Ballad</item>
<item>Pranks</item>
<item>Primus</item>
<item>Progressive Rock</item>
<item>Psychedelic</item>
<item>Psychedelic Rock</item>
<item>Punk</item>
<item>Punk Rock</item>
<item>R&B</item>
<item>Rap</item>
<item>Rave</item>
<item>Reggae</item>
<item>Retro</item>
<item>Revival</item>
<item>Rhythmic Soul</item>
<item>Rock</item>
<item>Rock & Roll</item>
<item>Rock/Pop</item>
<item>Salsa</item>
<item>Samba</item>
<item>Satire</item>
<item>Showtunes</item>
<item>Ska</item>
<item>Slow Jam</item>
<item>Slow Rock</item>
<item>Sonata</item>
<item>Soul</item>
<item>Sound Clip</item>
<item>Soundtrack</item>
<item>Southern Rock</item>
<item>Space</item>
<item>Speech</item>
<item>Swing</item>
<item>Symphonic Rock</item>
<item>Symphony</item>
<item>Synthpop</item>
<item>Tango</item>
<item>Techno</item>
<item>Techno-Industrial</item>
<item>Terror</item>
<item>Thrash Metal</item>
<item>Top 40</item>
<item>Trailer</item>
<item>Trance</item>
<item>Tribal</item>
<item>Trip-Hop</item>
<item>Vocal</item>
</combobox>
</hbox>
<hbox>
<text>
<label>Titre : </label>
</text>
<entry>
<variable>mtitre</variable>
</entry>
</hbox>
<button ok></button>
</vbox>
</window>'
###### Récupérer la sortie standard de Gtkdialog
VARIABLES=`gtkdialog --program MAIN_DIALOG`
###### Créer les variables shell
eval $VARIABLES
###### Mise en majuscule de la première lettre de chaque variable (plus propre)
martiste=$(echo "$martiste" | sed 's/^./\u&/')
malbum=$(echo "$malbum" | sed 's/^./\u&/')
mgenre=$(echo "$mgenre" | sed 's/^./\u&/')
mtitre=$(echo "$mtitre" | sed 's/^./\u&/')
eyeD3 -a "$martiste" -A "$malbum" -t "$mtitre" -G "$mgenre" ~/MP3/conv/conv.mp3
}
fi
}
else
{
##### Tag trouvé sur Musicbrainz©
##### Définition des variables
mbartist=$(cat ~/MP3/conv/.PUID | grep "<table class=\"artisttitle\">" | sed -e 's/.*artist page">//g' | sed -e 's/<\/a.*//' | sed -e "s/'/'/g" | head -n1)
mbalbum=$(cat ~/MP3/conv/.PUID | grep "/release/" | sed -e 's/.*">//g' | sed -e 's/<\/a.*//' | sed -e "s/'/'/g" | head -n1)
mbtitre=$(cat ~/MP3/conv/.PUID | grep "/track/" | sed -e 's/.*">//g' | sed -e 's/<\/a.*//' | sed -e "s/'/'/g" | head -n1)
mbtrack=$(cat ~/MP3/conv/.PUID | grep "no\">" | sed -e 's/.*">//g' | sed -e 's/<\/t.*//' | sed -e "s/'/'/g" | head -n1)
##### Affichage des Tags trouvés
export MAIN_DIALOG='
<window title="tag trouvé sur Musicbrainz©" icon-name="help" resizable="false" window_position="1">
<vbox>
<hbox>
<frame Artiste : >
<text>
<label># '"$mbartist"'</label>
</text>
</frame>
</hbox>
<hbox>
<frame Album : >
<text>
<label># '"$mbalbum"'</label>
</text>
</frame>
</hbox>
<hbox>
<frame Titre : >
<text>
<label># '"$mbtitre"'</label>
</text>
</frame>
</hbox>
<hbox>
<frame Track : >
<text>
<label># '"$mbtrack"'</label>
</text>
</frame>
</hbox>
<hbox>
<frame Les tags de Musibrainz© sont conforme ?>
<button yes></button>
<button no></button>
</frame>
</hbox>
</vbox>
</window>'
###### Récupérer la sortie standard de Gtkdialog
VARIABLES=`gtkdialog --program MAIN_DIALOG`
###### Créer les variables shell
eval $VARIABLES
##### Vérification des Tags
if [ "$EXIT" = "Yes" ]; then
{
###### Tag conforme puis définition du Genre (pas donné par Musicbrainz©)
export MAIN_DIALOG='
<window title="Entrez le genre" icon-name="help" resizable="false" window_position="1">
<vbox>
<frame Entrez le genre>
<combobox>
<variable>mbgenre</variable>
<item>Blues</item>
<item>A Cappella</item>
<item>Acid</item>
<item>Acid Punk</item>
<item>Acoustic</item>
<item>Alternative</item>
<item>AlternRock</item>
<item>Ambient</item>
<item>Anime</item>
<item>Avantgarde</item>
<item>Ballad</item>
<item>Bass</item>
<item>Beat</item>
<item>Bebob</item>
<item>Big Band</item>
<item>Black Metal</item>
<item>Bluegrass</item>
<item>Booty Bass</item>
<item>BritPop</item>
<item>Cabaret</item>
<item>Celtic</item>
<item>Chamber Music</item>
<item>Chanson</item>
<item>Chorus</item>
<item>Christian Gangsta Rap</item>
<item>Christian Rap</item>
<item>Christian Rock</item>
<item>Classic Rock</item>
<item>Classical</item>
<item>Club</item>
<item>Club-House</item>
<item>Comedy</item>
<item>Contemporary Christian</item>
<item>Country</item>
<item>Crossover</item>
<item>Cult</item>
<item>Dance</item>
<item>Dance Hall</item>
<item>Darkwave</item>
<item>Death Metal</item>
<item>Disco</item>
<item>Dream</item>
<item>Drum & Bass</item>
<item>Drum Solo</item>
<item>Duet</item>
<item>Easy Listening</item>
<item>Electronic</item>
<item>Ethnic</item>
<item>Euro-House</item>
<item>Euro-Techno</item>
<item>Eurodance</item>
<item>Fast Fusion</item>
<item>Folk</item>
<item>Folk-Rock</item>
<item>Folklore</item>
<item>Freestyle</item>
<item>Funk</item>
<item>Fusion</item>
<item>Game</item>
<item>Gangsta Rap</item>
<item>Goa</item>
<item>Gospel</item>
<item>Gothic</item>
<item>Gothic Rock</item>
<item>Grunge</item>
<item>Hard Rock</item>
<item>Hardcore</item>
<item>Heavy Metal</item>
<item>Hip-Hop</item>
<item>House</item>
<item>Humour</item>
<item>Indie</item>
<item>Industrial</item>
<item>Instrumental</item>
<item>Instrumental Pop</item>
<item>Instrumental Rock</item>
<item>Jazz</item>
<item>Jazz+Funk</item>
<item>JPop</item>
<item>Jungle</item>
<item>Latin</item>
<item>Lo-Fi</item>
<item>Meditative</item>
<item>Merengue</item>
<item>Metal</item>
<item>Musical</item>
<item>National Folk</item>
<item>Native American</item>
<item>Negerpunk</item>
<item>New Age</item>
<item>New Wave</item>
<item>Noise</item>
<item>Oldies</item>
<item>Opera</item>
<item>Other</item>
<item>Polka</item>
<item>Polsk Punk</item>
<item>Pop</item>
<item>Pop / Funk</item>
<item>Pop-Folk</item>
<item>Porn Groove</item>
<item>Power Ballad</item>
<item>Pranks</item>
<item>Primus</item>
<item>Progressive Rock</item>
<item>Psychedelic</item>
<item>Psychedelic Rock</item>
<item>Punk</item>
<item>Punk Rock</item>
<item>R&B</item>
<item>Rap</item>
<item>Rave</item>
<item>Reggae</item>
<item>Retro</item>
<item>Revival</item>
<item>Rhythmic Soul</item>
<item>Rock</item>
<item>Rock & Roll</item>
<item>Rock/Pop</item>
<item>Salsa</item>
<item>Samba</item>
<item>Satire</item>
<item>Showtunes</item>
<item>Ska</item>
<item>Slow Jam</item>
<item>Slow Rock</item>
<item>Sonata</item>
<item>Soul</item>
<item>Sound Clip</item>
<item>Soundtrack</item>
<item>Southern Rock</item>
<item>Space</item>
<item>Speech</item>
<item>Swing</item>
<item>Symphonic Rock</item>
<item>Symphony</item>
<item>Synthpop</item>
<item>Tango</item>
<item>Techno</item>
<item>Techno-Industrial</item>
<item>Terror</item>
<item>Thrash Metal</item>
<item>Top 40</item>
<item>Trailer</item>
<item>Trance</item>
<item>Tribal</item>
<item>Trip-Hop</item>
<item>Vocal</item>
</combobox>
</frame>
<button ok></button>
</vbox>
</window>'
###### Récupérer la sortie standard de Gtkdialog
VARIABLES=`gtkdialog --program MAIN_DIALOG`
###### Créer les variables shell
eval $VARIABLES
eyeD3 -a "$mbartist" -A "$mbalbum" -t "$mbtitre" -G "$mbgenre" -n "$mbtrack" ~/MP3/conv/conv.mp3
}
elif [ "$EXIT" = "No" ]; then
{
###### Tag non conforme
export MAIN_DIALOG='
<window title="Tag non trouvé" icon-name="dialog-info" resizable="false" window_position="1">
<vbox>
<frame Info :>
<text>
<label>Tag non trouvé sur Musicbrainz©. Que faire rentrez les tag :</label>
</text>
</frame>
<hbox>
<button>
<input file icon="emblem-draft">"Manuellement"</input><label>Manuellement</label>
</button>
<button>
<input file icon="emblem-web">Via la CDDB</input><label>Via la base de données CDDB</label>
</button>
</hbox>
</vbox>
</window>
'
# Récupérer la sortie standard de Gtkdialog
VARIABLES=`gtkdialog --program MAIN_DIALOG`
# Créer les variables shell
eval $VARIABLES
if [ "$EXIT" = "Via la base de données CDDB" ]; then
{
###### Tagage avec lltag (ID3 v1)
label="Entrer le nom de l'artiste ou l'album puis laissez vous guider:"
export MAIN_DIALOG='
<window title="Recherche CDDB" icon-name="help" resizable="false" window_position="1">
<vbox>
<text>
<label>'"$label"'</label>
</text>
<entry>
<variable>cddb</variable>
</entry>
<button ok></button>
</vbox>
</window>'
###### Récupérer la sortie standard de Gtkdialog
VARIABLES=`gtkdialog --program MAIN_DIALOG`
###### Créer les variables shell
eval $VARIABLES
###### Lancement de lltag dans un terminal
gnome-terminal -x lltag --cddb-query "$cddb" ~/MP3/conv/conv.mp3
use_lltag="1"
}
elif [ "$EXIT" = "Manuellement" ]; then
{
###### Tagage manuel
export MAIN_DIALOG='
<window title="Rentré les tags manuellement" icon-name="help" resizable="false" window_position="1">
<vbox>
<hbox>
<text>
<label>Artiste :</label>
</text>
<entry>
<variable>martiste</variable>
</entry>
</hbox>
<hbox>
<text>
<label>Album : </label>
</text>
<entry>
<variable>malbum</variable>
</entry>
</hbox>
<hbox>
<text>
<label>Genre : </label>
</text>
<combobox>
<variable>mgenre</variable>
<item>Blues</item>
<item>A Cappella</item>
<item>Acid</item>
<item>Acid Punk</item>
<item>Acoustic</item>
<item>Alternative</item>
<item>AlternRock</item>
<item>Ambient</item>
<item>Anime</item>
<item>Avantgarde</item>
<item>Ballad</item>
<item>Bass</item>
<item>Beat</item>
<item>Bebob</item>
<item>Big Band</item>
<item>Black Metal</item>
<item>Bluegrass</item>
<item>Booty Bass</item>
<item>BritPop</item>
<item>Cabaret</item>
<item>Celtic</item>
<item>Chamber Music</item>
<item>Chanson</item>
<item>Chorus</item>
<item>Christian Gangsta Rap</item>
<item>Christian Rap</item>
<item>Christian Rock</item>
<item>Classic Rock</item>
<item>Classical</item>
<item>Club</item>
<item>Club-House</item>
<item>Comedy</item>
<item>Contemporary Christian</item>
<item>Country</item>
<item>Crossover</item>
<item>Cult</item>
<item>Dance</item>
<item>Dance Hall</item>
<item>Darkwave</item>
<item>Death Metal</item>
<item>Disco</item>
<item>Dream</item>
<item>Drum & Bass</item>
<item>Drum Solo</item>
<item>Duet</item>
<item>Easy Listening</item>
<item>Electronic</item>
<item>Ethnic</item>
<item>Euro-House</item>
<item>Euro-Techno</item>
<item>Eurodance</item>
<item>Fast Fusion</item>
<item>Folk</item>
<item>Folk-Rock</item>
<item>Folklore</item>
<item>Freestyle</item>
<item>Funk</item>
<item>Fusion</item>
<item>Game</item>
<item>Gangsta Rap</item>
<item>Goa</item>
<item>Gospel</item>
<item>Gothic</item>
<item>Gothic Rock</item>
<item>Grunge</item>
<item>Hard Rock</item>
<item>Hardcore</item>
<item>Heavy Metal</item>
<item>Hip-Hop</item>
<item>House</item>
<item>Humour</item>
<item>Indie</item>
<item>Industrial</item>
<item>Instrumental</item>
<item>Instrumental Pop</item>
<item>Instrumental Rock</item>
<item>Jazz</item>
<item>Jazz+Funk</item>
<item>JPop</item>
<item>Jungle</item>
<item>Latin</item>
<item>Lo-Fi</item>
<item>Meditative</item>
<item>Merengue</item>
<item>Metal</item>
<item>Musical</item>
<item>National Folk</item>
<item>Native American</item>
<item>Negerpunk</item>
<item>New Age</item>
<item>New Wave</item>
<item>Noise</item>
<item>Oldies</item>
<item>Opera</item>
<item>Other</item>
<item>Polka</item>
<item>Polsk Punk</item>
<item>Pop</item>
<item>Pop / Funk</item>
<item>Pop-Folk</item>
<item>Porn Groove</item>
<item>Power Ballad</item>
<item>Pranks</item>
<item>Primus</item>
<item>Progressive Rock</item>
<item>Psychedelic</item>
<item>Psychedelic Rock</item>
<item>Punk</item>
<item>Punk Rock</item>
<item>R&B</item>
<item>Rap</item>
<item>Rave</item>
<item>Reggae</item>
<item>Retro</item>
<item>Revival</item>
<item>Rhythmic Soul</item>
<item>Rock</item>
<item>Rock & Roll</item>
<item>Rock/Pop</item>
<item>Salsa</item>
<item>Samba</item>
<item>Satire</item>
<item>Showtunes</item>
<item>Ska</item>
<item>Slow Jam</item>
<item>Slow Rock</item>
<item>Sonata</item>
<item>Soul</item>
<item>Sound Clip</item>
<item>Soundtrack</item>
<item>Southern Rock</item>
<item>Space</item>
<item>Speech</item>
<item>Swing</item>
<item>Symphonic Rock</item>
<item>Symphony</item>
<item>Synthpop</item>
<item>Tango</item>
<item>Techno</item>
<item>Techno-Industrial</item>
<item>Terror</item>
<item>Thrash Metal</item>
<item>Top 40</item>
<item>Trailer</item>
<item>Trance</item>
<item>Tribal</item>
<item>Trip-Hop</item>
<item>Vocal</item>
</combobox>
</hbox>
<hbox>
<text>
<label>Titre : </label>
</text>
<entry>
<variable>mtitre</variable>
</entry>
</hbox>
<button ok></button>
</vbox>
</window>'
###### Récupérer la sortie standard de Gtkdialog
VARIABLES=`gtkdialog --program MAIN_DIALOG`
###### Créer les variables shell
eval $VARIABLES
###### Mise en majuscule de la première lettre de chaque variable (plus propre)
martiste=$(echo "$martiste" | sed 's/^./\u&/')
malbum=$(echo "$malbum" | sed 's/^./\u&/')
mgenre=$(echo "$mgenre" | sed 's/^./\u&/')
mtitre=$(echo "$mtitre" | sed 's/^./\u&/')
eyeD3 -a "$martiste" -A "$malbum" -t "$mtitre" -G "$mgenre" ~/MP3/conv/conv.mp3
}
fi
}
fi
}
fi
export MAIN_DIALOG='
<window title="Insertion terminé" icon-name="dialog-info" resizable="false" window_position="1">
<vbox>
<frame Info :>
<text>
<label>Insertion des Tag (ID3 v2.4) terminé !</label>
</text>
</frame>
<hbox>
<button ok></button>
</hbox>
</vbox>
</window>
'
gtkdialog --program=MAIN_DIALOG
### Supression du fichier .PUID
rm -f ~/MP3/conv/.PUID
### Extraction des variables (ruse siou)
eyeD3 --rename="%Asupr1%asupr2%t" ~/MP3/conv/conv.mp3
### Définition des variables
ARTIST=$(ls -lt ~/MP3/conv/*.mp3 | head -n1 | sed -e 's/.*MP3\/conv\///' | sed -e 's/supr1.*//')
ALBUM=$(ls -lt ~/MP3/conv/*.mp3 | head -n1 | sed -e 's/.*MP3\/conv\///' | sed -e 's/.*supr1//' | sed -e 's/supr2.*//')
TITRE=$(ls -lt ~/MP3/conv/*.mp3 | head -n1 | sed -e 's/.*MP3\/conv\///' | sed -e 's/.*supr2//' | sed -e 's/.mp3.*//')
MOVE=$(ls -lt ~/MP3/conv/*.mp3 | head -n1 | sed -e 's/.*MP3\/conv\///')
### Si on a tag avec la CDDB les variables seront modifiées afin de garder les accents correctement
if [ "$use_lltag" = "1" ];then
{
ARTIST=$(lltag -S ~/MP3/conv/"$MOVE" | grep "ARTIST" | sed -e 's/.*=//')
ALBUM=$(lltag -S ~/MP3/conv/"$MOVE" | grep "ALBUM" | sed -e 's/.*=//')
TITRE=$(lltag -S ~/MP3/conv/"$MOVE" | grep "TITLE" | sed -e 's/.*=//')
}
fi
### Création des dossiers /artist/album
if [ "$rang2" = "" ]; then
rang2=$rang3
rang3=$( echo "")
fi
if [ "$rang3" = "" ]; then
rang1=$rang2
rang2=$rang3
rang3=$( echo "")
fi
if [ "$rang1" = "Artiste" ]; then
if [ "$rang2" = "Artiste" ]; then
if [ "$rang3" = "Artiste" ]; then
bidule="$dossier/$ARTIST/$ARTIST/$ARTIST/"
echo "$bidule"
mkdir -p "$dossier"/"$ARTIST"/"$ARTIST"/"$ARTIST"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ARTIST"/"$ARTIST"/"$TITRE".mp3
elif [ "$rang3" = "Album" ]; then
mkdir -p "$dossier"/"$ARTIST"/"$ARTIST"/"$ALBUM"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ARTIST"/"$ALBUM"/"$TITRE".mp3
elif [ "$rang3" = "Genre" ]; then
mkdir -p "$dossier"/"$ARTIST"/"$ARTIST"/"$GENRE"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ARTIST"/"$GENRE"/"$TITRE".mp3
fi
elif [ "$rang2" = "Album" ]; then
if [ "$rang3" = "Artiste" ]; then
mkdir -p "$dossier"/"$ARTIST"/"$ALBUM"/"$ARTIST"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ALBUM"/"$ARTIST"/"$TITRE".mp3
elif [ "$rang3" = "Album" ]; then
mkdir -p "$dossier"/"$ARTIST"/"$ALBUM"/"$ALBUM"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ALBUM"/"$ALBUM"/"$TITRE".mp3
elif [ "$rang3" = "Genre" ]; then
mkdir -p "$dossier"/"$ARTIST"/"$ALBUM"/"$GENRE"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ALBUM"/"$GENRE"/"$TITRE".mp3
fi
elif [ "$rang2" = "Genre" ]; then
if [ "$rang3" = "Artiste" ]; then
mkdir -p "$dossier"/"$ARTIST"/"$GENRE"/"$ARTIST"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ARTIST"/"$GENRE"/"$ARTIST"/"$TITRE".mp3
elif [ "$rang3" = "Album" ]; then
mkdir -p "$dossier"/"$ARTIST"/"$GENRE"/"$ALBUM"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ARTIST"/"$GENRE"/"$ALBUM"/"$TITRE".mp3
elif [ "$rang3" = "Genre" ]; then
mkdir -p "$dossier"/"$ARTIST"/"$GENRE"/"$GENRE"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ARTIST"/"$GENRE"/"$GENRE"/"$TITRE".mp3
fi
fi
elif [ "$rang1" = "Album" ]; then
if [ "$rang2" = "Artiste" ]; then
if [ "$rang3" = "Artiste" ]; then
mkdir -p "$dossier"/"$ALBUM"/"$ARTIST"/"$ARTIST"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ARTIST"/"$ARTIST"//"$TITRE".mp3
elif [ "$rang3" = "Album" ]; then
mkdir -p "$dossier"/"$ALBUM"/"$ARTIST"/"$ALBUM"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ARTIST"/"$ALBUM"/"$TITRE".mp3
elif [ "$rang3" = "Genre" ]; then
mkdir -p "$dossier"/"$ALBUM"/"$ARTIST"/"$GENRE"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ARTIST"/"$GENRE"/"$TITRE".mp3
fi
elif [ "$rang2" = "Album" ]; then
if [ "$rang3" = "Artiste" ]; then
mkdir -p "$dossier"/"$ALBUM"/"$ALBUM"/"$ARTIST"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ALBUM"/"$ARTIST"/"$TITRE".mp3
elif [ "$rang3" = "Album" ]; then
mkdir -p "$dossier"/"$ALBUM"/"$ALBUM"/"$ALBUM"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ALBUM"/"$ALBUM"/"$TITRE".mp3
elif [ "$rang3" = "Genre" ]; then
mkdir -p "$dossier"/"$ALBUM"/"$ALBUM"/"$GENRE"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ALBUM"/"$GENRE"/"$TITRE".mp3
fi
elif [ "$rang2" = "Genre" ]; then
if [ "$rang3" = "Artiste" ]; then
mkdir -p "$dossier"/"$ALBUM"/"$GENRE"/"$ARTIST"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ALBUM"/"$GENRE"/"$ARTIST"/"$TITRE".mp3
elif [ "$rang3" = "Album" ]; then
mkdir -p "$dossier"/"$ALBUM"/"$GENRE"/"$ALBUM"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ALBUM"/"$GENRE"/"$ALBUM"/"$TITRE".mp3
elif [ "$rang3" = "Genre" ]; then
mkdir -p "$dossier"/"$ALBUM"/"$GENRE"/"$GENRE"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ALBUM"/"$GENRE"/"$GENRE"/"$TITRE".mp3
fi
fi
elif [ "$rang1" = "Genre" ]; then
if [ "$rang2" = "Artiste" ]; then
if [ "$rang3" = "Artiste" ]; then
mkdir -p "$dossier"/"$GENRE"/"$ARTISTE"/"$ARTISTE"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$GENRE"/"$ARTISTE"/"$ARTISTE"/"$TITRE".mp3
elif [ "$rang3" = "Album" ]; then
mkdir -p "$dossier"/"$GENRE"/"$ARTISTE"/"$ALBUM"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$GENRE"/"$ARTISTE"/"$ALBUM"/"$TITRE".mp3
elif [ "$rang3" = "Genre" ]; then
mkdir -p "$dossier"/"$GENRE"/"$ARTISTE"/"$GENRE"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$GENRE"/"$ARTISTE"/"$GENRE"/"$TITRE".mp3
fi
elif [ "$rang2" = "Album" ]; then
if [ "$rang3" = "Artiste" ]; then
mkdir -p "$dossier"/"$GENRE"/"$ALBUM"/"$ARTISTE"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$GENRE"/"$ALBUM"/"$ARTISTE"/"$TITRE".mp3
elif [ "$rang3" = "Album" ]; then
mkdir -p "$dossier"/"$GENRE"/"$ALBUM"/"$ALBUM"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$GENRE"/"$ALBUM"/"$ALBUM"/"$TITRE".mp3
elif [ "$rang3" = "Genre" ]; then
mkdir -p "$dossier"/"$GENRE"/"$ALBUM"/"$GENRE"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$GENRE"/"$ALBUM"/"$GENRE"/"$TITRE".mp3
fi
elif [ "$rang2" = "Genre" ]; then
if [ "$rang3" = "Artiste" ]; then
mkdir -p "$dossier"/"$GENRE"/"$GENRE"/"$ARTIST"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$GENRE"/"$GENRE"/"$ARTIST"/"$TITRE".mp3
elif [ "$rang3" = "Album" ]; then
mkdir -p "$dossier"/"$GENRE"/"$GENRE"/"$ALBUM"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$GENRE"/"$GENRE"/"$ALBUM"/"$TITRE".mp3
elif [ "$rang3" = "Genre" ]; then
mkdir -p "$dossier"/"$GENRE"/"$GENRE"/"$GENRE"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$GENRE"/"$GENRE"/"$GENRE"/"$TITRE".mp3
fi
fi
fi
#mkdir -p ~/MP3/"$ARTIST"/"$ALBUM"/
### Déplacement du mp3 dans le dossier /$artist/$album
#mv ~/MP3/conv/"$MOVE" ~/MP3/"$ARTIST"/"$ALBUM"/"$TITRE".mp3
export MAIN_DIALOG='
<window title="Programme terminé" icon-name="redo" resizable="false" window_position="1">
<vbox>
<frame Info :>
<text>
<label>Toute les opérations ont été effectuer avec succès la musique a été rangée dans :</label>
</text>
<text>
<label>'"$HOME"'/MP3/'"$ARTIST"'/'"$ALBUM"'/'"$TITRE"'.mp3</label>
</text>
</frame>
<hbox>
<button ok></button>
</hbox>
</vbox>
</window>
'
gtkdialog --program=MAIN_DIALOG
}
else
{
export MAIN_DIALOG='
<window title="Erreur" icon-name="error" resizable="false" window_position="1">
<vbox>
<frame Info :>
<text>
<label>Toute les opérations ont été effectuer avec succès la musique a été rangée dans :</label>
</text>
<text>
<label>'"$HOME"'/MP3/'"$ARTIST"'/'"$ALBUM"'/'"$TITRE"'.mp3</label>
</text>
</frame>
<hbox>
<button ok></button>
</hbox>
</vbox>
</window>
'
gtkdialog --program=MAIN_DIALOG
}
fi
}
fi
else
configuration
fi
exit 0
Dernière modification par syubuntu (Le 18/01/2009, à 16:25)
Arch[gnu/]linuxiens
Hors ligne
#185 Le 18/01/2009, à 16:44
- re06011988
Re : [Aide] Script qui télécharge convertie tag et range les mp3
Mcmic :
voila je sais pourquoi sa merdais lltag me donne :
ARTIST: Various
TITLE: Klint / Diamond
ALBUM: Snatch - Original Soundtrack
NUMBER: 2
GENRE: Pop
DATE: 2002
ID: 280fc616
CAT: soundtrack
on voit bien le "/" incriminent j'ai juste a modifier le sedet tout roulera dans l'ordre
Syubuntu :
Peut tu me mettre juste les difference comme sa j'ai plus cas recopier propre et ou ^^ Peut etre aussi dire dans ton if -e ~/.deezaster que si il existe pas il faut faire la configuration a l'utilisateur
Et aussi m'expliker ton histoire de :
Est il possible dans une liste de spécifier la valeur par defaut? Pour que si la personne veux modifier son fichier de config ça lui mette dans la fenêtre sa configuration comme elle était avant
ça fait 2h que je cherche pour enlever ces if horribles à la fin et je n'ai pas trouvé.
j'aurais voulu écrire par exemple ARTIST dans le fichier config
et arriver a prendre ce qu'il y a dans le fichier donc ARTIST et le mettre dans une variable par exemple rang1
et ensuite arriver avec rang1 à faire $ARTIST pour avoir le nom de l'artiste
donc
rang1=ARTISTE
quelque chose $rang1 donne le nom de l'artiste.
j'ai pas d'idée
javoue avoir rien piger
Dernière modification par re06011988 (Le 18/01/2009, à 16:45)
Mes script : T1000tag~Série pour conky
Hors ligne
#186 Le 18/01/2009, à 16:52
- syubuntu
Re : [Aide] Script qui télécharge convertie tag et range les mp3
fonction configuration :
configuration(){
export MAIN_DIALOG='
<vbox>
<frame répertoire>
<hbox>
<vbox>
<entry accept="directory">
<label>Selectionner un repertoire</label>
<variable>FILE_DIRECTORY</variable>
</entry>
<button>
<input file stock="gtk-open"></input>
<variable>FILE_BROWSE_DIRECTORY</variable>
<action type="fileselect">FILE_DIRECTORY</action>
</button>
</vbox>
<vbox>
<combobox>
<variable>rang1</variable>
<item>Artiste</item>
<item>Genre</item>
<item>Album</item>
<item></item>
</combobox>
</vbox>
<vbox>
<combobox>
<variable>rang2</variable>
<item>Album</item>
<item>Genre</item>
<item>Artiste</item>
<item></item>
</combobox>
</vbox>
<vbox>
<combobox>
<variable>rang3</variable>
<item></item>
<item>Genre</item>
<item>Album</item>
<item>Artiste</item>
</combobox>
</vbox>
</hbox>
</frame>
<hbox>
<button ok></button>
<button cancel></button>
</hbox>
</vbox>
'
VARIABLES=`gtkdialog --program MAIN_DIALOG`
eval $VARIABLES
if [ "$EXIT" = "OK" ] ; then
if [ -d "$FILE_DIRECTORY" ] ; then
echo "chemin=$FILE_DIRECTORY">~/.deezaster/config
echo -e "rang1=$rang1\nrang2=$rang2\nrang3=$rang3" >>~/.deezaster/config
else
configuration
exit 0
fi
elif [ "$EXIT" = "cancel" ] ; then
exit 0
else
exit 0
fi
}
debut du script :
if [ -r ~/.deezaster/config ]; then
dossier=$(cat ~/.deezaster/config | grep "dossier" | sed -e 's/dossier=//')
rang1=$(cat ~/.deezaster/config | grep "rang1" | sed -e 's/rang1=//')
rang2=$(cat ~/.deezaster/config | grep "rang2" | sed -e 's/rang2=//')
rang3=$(cat ~/.deezaster/config | grep "rang3" | sed -e 's/rang3=//')
fin du script :
if [ "$rang2" = "" ]; then
rang2=$rang3
rang3=$( echo "")
fi
if [ "$rang3" = "" ]; then
rang1=$rang2
rang2=$rang3
rang3=$( echo "")
fi
if [ "$rang1" = "Artiste" ]; then
if [ "$rang2" = "Artiste" ]; then
if [ "$rang3" = "Artiste" ]; then
bidule="$dossier/$ARTIST/$ARTIST/$ARTIST/"
echo "$bidule"
mkdir -p "$dossier"/"$ARTIST"/"$ARTIST"/"$ARTIST"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ARTIST"/"$ARTIST"/"$TITRE".mp3
elif [ "$rang3" = "Album" ]; then
mkdir -p "$dossier"/"$ARTIST"/"$ARTIST"/"$ALBUM"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ARTIST"/"$ALBUM"/"$TITRE".mp3
elif [ "$rang3" = "Genre" ]; then
mkdir -p "$dossier"/"$ARTIST"/"$ARTIST"/"$GENRE"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ARTIST"/"$GENRE"/"$TITRE".mp3
fi
elif [ "$rang2" = "Album" ]; then
if [ "$rang3" = "Artiste" ]; then
mkdir -p "$dossier"/"$ARTIST"/"$ALBUM"/"$ARTIST"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ALBUM"/"$ARTIST"/"$TITRE".mp3
elif [ "$rang3" = "Album" ]; then
mkdir -p "$dossier"/"$ARTIST"/"$ALBUM"/"$ALBUM"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ALBUM"/"$ALBUM"/"$TITRE".mp3
elif [ "$rang3" = "Genre" ]; then
mkdir -p "$dossier"/"$ARTIST"/"$ALBUM"/"$GENRE"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ARTIST"/"$ALBUM"/"$GENRE"/"$TITRE".mp3
fi
elif [ "$rang2" = "Genre" ]; then
if [ "$rang3" = "Artiste" ]; then
mkdir -p "$dossier"/"$ARTIST"/"$GENRE"/"$ARTIST"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ARTIST"/"$GENRE"/"$ARTIST"/"$TITRE".mp3
elif [ "$rang3" = "Album" ]; then
mkdir -p "$dossier"/"$ARTIST"/"$GENRE"/"$ALBUM"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ARTIST"/"$GENRE"/"$ALBUM"/"$TITRE".mp3
elif [ "$rang3" = "Genre" ]; then
mkdir -p "$dossier"/"$ARTIST"/"$GENRE"/"$GENRE"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ARTIST"/"$GENRE"/"$GENRE"/"$TITRE".mp3
fi
fi
elif [ "$rang1" = "Album" ]; then
if [ "$rang2" = "Artiste" ]; then
if [ "$rang3" = "Artiste" ]; then
mkdir -p "$dossier"/"$ALBUM"/"$ARTIST"/"$ARTIST"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ARTIST"/"$ARTIST"//"$TITRE".mp3
elif [ "$rang3" = "Album" ]; then
mkdir -p "$dossier"/"$ALBUM"/"$ARTIST"/"$ALBUM"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ARTIST"/"$ALBUM"/"$TITRE".mp3
elif [ "$rang3" = "Genre" ]; then
mkdir -p "$dossier"/"$ALBUM"/"$ARTIST"/"$GENRE"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ARTIST"/"$GENRE"/"$TITRE".mp3
fi
elif [ "$rang2" = "Album" ]; then
if [ "$rang3" = "Artiste" ]; then
mkdir -p "$dossier"/"$ALBUM"/"$ALBUM"/"$ARTIST"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ALBUM"/"$ARTIST"/"$TITRE".mp3
elif [ "$rang3" = "Album" ]; then
mkdir -p "$dossier"/"$ALBUM"/"$ALBUM"/"$ALBUM"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ALBUM"/"$ALBUM"/"$TITRE".mp3
elif [ "$rang3" = "Genre" ]; then
mkdir -p "$dossier"/"$ALBUM"/"$ALBUM"/"$GENRE"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ALBUM"/"$ALBUM"/"$GENRE"/"$TITRE".mp3
fi
elif [ "$rang2" = "Genre" ]; then
if [ "$rang3" = "Artiste" ]; then
mkdir -p "$dossier"/"$ALBUM"/"$GENRE"/"$ARTIST"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ALBUM"/"$GENRE"/"$ARTIST"/"$TITRE".mp3
elif [ "$rang3" = "Album" ]; then
mkdir -p "$dossier"/"$ALBUM"/"$GENRE"/"$ALBUM"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ALBUM"/"$GENRE"/"$ALBUM"/"$TITRE".mp3
elif [ "$rang3" = "Genre" ]; then
mkdir -p "$dossier"/"$ALBUM"/"$GENRE"/"$GENRE"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$ALBUM"/"$GENRE"/"$GENRE"/"$TITRE".mp3
fi
fi
elif [ "$rang1" = "Genre" ]; then
if [ "$rang2" = "Artiste" ]; then
if [ "$rang3" = "Artiste" ]; then
mkdir -p "$dossier"/"$GENRE"/"$ARTISTE"/"$ARTISTE"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$GENRE"/"$ARTISTE"/"$ARTISTE"/"$TITRE".mp3
elif [ "$rang3" = "Album" ]; then
mkdir -p "$dossier"/"$GENRE"/"$ARTISTE"/"$ALBUM"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$GENRE"/"$ARTISTE"/"$ALBUM"/"$TITRE".mp3
elif [ "$rang3" = "Genre" ]; then
mkdir -p "$dossier"/"$GENRE"/"$ARTISTE"/"$GENRE"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$GENRE"/"$ARTISTE"/"$GENRE"/"$TITRE".mp3
fi
elif [ "$rang2" = "Album" ]; then
if [ "$rang3" = "Artiste" ]; then
mkdir -p "$dossier"/"$GENRE"/"$ALBUM"/"$ARTISTE"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$GENRE"/"$ALBUM"/"$ARTISTE"/"$TITRE".mp3
elif [ "$rang3" = "Album" ]; then
mkdir -p "$dossier"/"$GENRE"/"$ALBUM"/"$ALBUM"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$GENRE"/"$ALBUM"/"$ALBUM"/"$TITRE".mp3
elif [ "$rang3" = "Genre" ]; then
mkdir -p "$dossier"/"$GENRE"/"$ALBUM"/"$GENRE"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$GENRE"/"$ALBUM"/"$GENRE"/"$TITRE".mp3
fi
elif [ "$rang2" = "Genre" ]; then
if [ "$rang3" = "Artiste" ]; then
mkdir -p "$dossier"/"$GENRE"/"$GENRE"/"$ARTIST"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$GENRE"/"$GENRE"/"$ARTIST"/"$TITRE".mp3
elif [ "$rang3" = "Album" ]; then
mkdir -p "$dossier"/"$GENRE"/"$GENRE"/"$ALBUM"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$GENRE"/"$GENRE"/"$ALBUM"/"$TITRE".mp3
elif [ "$rang3" = "Genre" ]; then
mkdir -p "$dossier"/"$GENRE"/"$GENRE"/"$GENRE"/
mv ~/MP3/conv/"$MOVE" "$dossier"/"$GENRE"/"$GENRE"/"$GENRE"/"$TITRE".mp3
fi
fi
fi
#mkdir -p ~/MP3/"$ARTIST"/"$ALBUM"/
### Déplacement du mp3 dans le dossier /$artist/$album
#mv ~/MP3/conv/"$MOVE" ~/MP3/"$ARTIST"/"$ALBUM"/"$TITRE".mp3
export MAIN_DIALOG='
<window title="Programme terminé" icon-name="redo" resizable="false" window_position="1">
<vbox>
<frame Info :>
<text>
<label>Toute les opérations ont été effectuer avec succès la musique a été rangée dans :</label>
</text>
<text>
<label>'"$HOME"'/MP3/'"$ARTIST"'/'"$ALBUM"'/'"$TITRE"'.mp3</label>
</text>
</frame>
<hbox>
<button ok></button>
</hbox>
</vbox>
</window>
'
gtkdialog --program=MAIN_DIALOG
}
else
{
export MAIN_DIALOG='
<window title="Erreur" icon-name="error" resizable="false" window_position="1">
<vbox>
<frame Info :>
<text>
<label>Toute les opérations ont été effectuer avec succès la musique a été rangée dans :</label>
</text>
<text>
<label>'"$HOME"'/MP3/'"$ARTIST"'/'"$ALBUM"'/'"$TITRE"'.mp3</label>
</text>
</frame>
<hbox>
<button ok></button>
</hbox>
</vbox>
</window>
'
gtkdialog --program=MAIN_DIALOG
}
fi
}
fi
else
mkdir -p ~/.deezaster/
configuration
fi
exit 0
Arch[gnu/]linuxiens
Hors ligne
#187 Le 18/01/2009, à 17:07
- syubuntu
Re : [Aide] Script qui télécharge convertie tag et range les mp3
première partie : en faite si la personne a déjà une config mais qu'elle veut la modifier, j'aimerai que dans la fenêtre config soit présélectionner sa précédente config. J'ai une technique pour faire ça mais faut réécrire plein de fois la même chose ça me fatigue.
deuxième partie sans lien: pour l'instant je fais une tonne de if à la fin.et j'aimerai enlever tout ça et pour ça :Dans le fichier config je mets rang1=ARTIST....
ensuite dans le script avec ton sed je récupère ARTIST et je le met dans la variable rang1.
ça c'est bon.
et la à la place de faire ma tonne de if
je voudrai un commande qui se sert de la valeur de $rang1 (ARTIST ou GENRE ou TITRE) mais qui fait la commande $ARTIST...
commande $rang1 execute $(valeur de rang1)
j'ai du mal a expliquer
sinon il n'y a pas encore de $GENRE il faut que tu le rajoutes, moi les lignes de sed j'ai encore du mal
Arch[gnu/]linuxiens
Hors ligne
#188 Le 18/01/2009, à 17:17
- re06011988
Re : [Aide] Script qui télécharge convertie tag et range les mp3
j'ai du rajouter la variable pour le numéro de la piste je peut te rajouter ton genre c'est vite fait
Sinon ton if y a plus simple et rapide
En fait ta variable rang dans le dossier de conf retourne un nombre si ce nombre c'est 1 le trie s'effectura du genre /ARTIST/ALBUM/NOM
si elle retourne le nombre 2 ce sera /ARTIST/NOM
etc ...
Dernière modification par re06011988 (Le 18/01/2009, à 17:20)
Mes script : T1000tag~Série pour conky
Hors ligne
#189 Le 18/01/2009, à 17:22
- syubuntu
Re : [Aide] Script qui télécharge convertie tag et range les mp3
a ben très bien
va y
le nom du fichier je n'ai pas fait dans la fonction configuration.
mais un truc genre
dossier=/home/syubuntu/MP3
rang1=genre
rang2=artiste
rang3=album
transition= -
nom1=track
nom2=titre
par exemple...
Arch[gnu/]linuxiens
Hors ligne
#190 Le 18/01/2009, à 17:26
- re06011988
Re : [Aide] Script qui télécharge convertie tag et range les mp3
transition se serat toujour - car sinon sa va bug si y en a qui déffinisse un paramettre zarb qui peut faire planter un mv
Mes script : T1000tag~Série pour conky
Hors ligne
#191 Le 18/01/2009, à 17:36
- syubuntu
Re : [Aide] Script qui télécharge convertie tag et range les mp3
ok.sinon juste un choix entre " . " et " - " et si tu mets des espaces autours ou pas.
mais c'est vrai que moi ça ne me servira pas.
moi c'est " - " et jamais autre chose.
manque plus qu'une chose, la récupération de la pochette .et qui met dans le dossier (ou dans les tags carrément).si il y en a déjà une dans le dossier, il ne refait pas.ça serait bien ça non?
lol
Arch[gnu/]linuxiens
Hors ligne
#192 Le 18/01/2009, à 17:37
- re06011988
Re : [Aide] Script qui télécharge convertie tag et range les mp3
les pochette c'est plus chaud car on utilise amazonne et il ont souvant des pochette a la con
et le . peut être mal interpreter par un sed donc se sera toujour -
Dernière modification par re06011988 (Le 18/01/2009, à 17:38)
Mes script : T1000tag~Série pour conky
Hors ligne
#193 Le 18/01/2009, à 17:45
- syubuntu
Re : [Aide] Script qui télécharge convertie tag et range les mp3
ok
ça lance une recherche sur google image, tu choisis la bonne,et la le plus simple c'est une fenêtre qui attend que tu rentres l'adresse de la photo( c'est peut être pas génial mais je vois pas trop sinon) et qui s'occupe donc de la télécharger, renommer du nom de l'album et la mettre dans le dossier qui convient.
je ne sais pas si ça fait gagner du temps..
et ça bien sur "activable" ou non par le fichier de config.
ça n'a peut être aucun intérêt, c'est juste une proposition
Arch[gnu/]linuxiens
Hors ligne
#194 Le 18/01/2009, à 18:01
- MCMic
Re : [Aide] Script qui télécharge convertie tag et range les mp3
Par pitié ne vous occupez pas des pochettes!
C'est surement pas le rôle de ce script, on veut juste récupérer des fichiers sur deezer, et les tagger correctement. La pochette c'est commun à l'album et on a 40 000 autres moyen de les récup (perso je fais ça dans amarok)
sinon
donc si le dossier existe déjà ça plante.à moins que tu supprimes toi même le dossier à la fin j'ai pas regardé.
bref c'est plus simple un mkdir -p qui construit les parents si manquant et qui ne dit rien si le dossier existe
N'importe quoi, ça plante pas le script si le dossier existait déjà, ça le signal juste par un message d'erreur et ça continue.
Hors ligne
#195 Le 18/01/2009, à 18:29
- syubuntu
Re : [Aide] Script qui télécharge convertie tag et range les mp3
le fait est que si il veut le rajouter ce sera desactivable tu désactivera dans la config et tu te débrouilles avec amarok pour tes pochettes.et ce n'est pas pour deezer car c'est interdit sur ce site.
et vu que ta ta version je suppose qu etu arrivera a l'enlever
en effet juste un erreur, j'avais testé avec un &&.par contre ça ne construit pas le pere donc si quelqu'un enleve le dossier /MP3 .lol.si on passe dans tmp il y a deja moins de chance
Dernière modification par syubuntu (Le 18/01/2009, à 18:30)
Arch[gnu/]linuxiens
Hors ligne
#196 Le 18/01/2009, à 18:35
- re06011988
Re : [Aide] Script qui télécharge convertie tag et range les mp3
il plante pas il mets une erreur c'est tout mais avec l'argument -p les erreurs ne s'affiche pas
pour le case j'y es penser mais j'ai peur que sa sois lourd par rapport avec un if
Mes script : T1000tag~Série pour conky
Hors ligne
#197 Le 18/01/2009, à 19:47
- syubuntu
Re : [Aide] Script qui télécharge convertie tag et range les mp3
oui j'ai vu que ça ne plante pas.mais ça construit pas les dossiers parent manquant.
donc si tu mets dans /tmp/conv ça va (je pense que personne ne va enlever le dossier /temp)
si tu mets dans ~/MP3/conv/ ça ne va pas aller car c'est facile d'enlever le dossier MP3
Arch[gnu/]linuxiens
Hors ligne
#198 Le 18/01/2009, à 20:13
- MCMic
Re : [Aide] Script qui télécharge convertie tag et range les mp3
oui mais je voulais dire ne pas pas concentrer vos efforts sur la récupération des pochettes, faites plutôt marcher le reste (enfin ça marche déjà pas mal)
Hors ligne
#199 Le 18/01/2009, à 20:15
- re06011988
Re : [Aide] Script qui télécharge convertie tag et range les mp3
j'ai mis en option de trie :
Artist/
Album/
Genre/
Artiste/Album/
Artiste/Genre/ *
Genre/Artiste/
Genre/Album/
Album/Artist/ *
Album/Genre/ *
Genre/Artiste/Album/
* Les trouves débiles ces options
et en option de noms :
nom
track - nom
artist - nom
album - nom
track - artist - nom
track - album - nom
track - artist - album - nom
Voila si j'en est zapper dite le mois
Ps pour la selection du répertoire j'ai jai sa propre avec une belle boite de selection gnome
Mes script : T1000tag~Série pour conky
Hors ligne
#200 Le 18/01/2009, à 20:25
- syubuntu
Re : [Aide] Script qui télécharge convertie tag et range les mp3
parfait. oui moi ça marchait mais ce n'était pas tres beau comme fonctionnement... manque le non classé ( on sait jamais)
Arch[gnu/]linuxiens
Hors ligne