Version imprimable du sujet

Cliquez ici pour voir ce sujet dans son format original

Forums MacBidouille _ AppleTV / iPhone / iPod / iPad / Apple Watch + iTunes _ comment supprimer les doublons ds Itunes ?

Écrit par : freezet 17 Sep 2006, 21:40

voilà j'ai un petit problème pas bien grave mais que je n'arrive pas à résoudre.
A force de transférer à droite à gauche sur un autre ordi ou sur un mp3, de sauvegarder ici ou là, je me retrouve avec plusieurs bibliothèques Itunes, toutes avec des titres différents mais aussi un certain nombre de doublons. Je voudrais refaire ma bibliothèque en étant sure de ne rien détruire mais en supprimant ces doublons qui occupentde la place pour rien.
J'ai vainement cherché ds Automator un petit script tout fait qui résoudrait le problème mais en vain. Je suis d'ailleurs étonée qu'Itunes n'offre pas cette facilité.

La tête pensante qui trouverait une solution me rendrait bien service à moi mais je suis sûre aussi à beaucoup d'autres. wink.gif







Écrit par : janeB18 17 Sep 2006, 21:42

CITATION(freezet @ 17 Sep 2006, 22:40) [snapback]1886861[/snapback]

voilà j'ai un petit problème pas bien grave mais que je n'arrive pas à résoudre.
A force de transférer à droite à gauche sur un autre ordi ou sur un mp3, de sauvegarder ici ou là, je me retrouve avec plusieurs bibliothèques Itunes, toutes avec des titres différents mais aussi un certain nombre de doublons. Je voudrais refaire ma bibliothèque en étant sure de ne rien détruire mais en supprimant ces doublons qui occupentde la place pour rien.
J'ai vainement cherché ds Automator un petit script tout fait qui résoudrait le problème mais en vain. Je suis d'ailleurs étonée qu'Itunes n'offre pas cette facilité.

La tête pensante qui trouverait une solution me rendrait bien service à moi mais je suis sûre aussi à beaucoup d'autres. wink.gif

Il me semble qu'iTunes propose cette fonction (dans Présentation > Afficher les éléments en double)

Écrit par : Matrix 17 Sep 2006, 21:42

Bonsoir et bienvenue,

Le menu "Présentation > afficher les éléments en double" d'iTunes ne te convient pas?

Écrit par : Grincheux 7 Jun 2007, 16:03

Je remonte se topic car j'ai le même problème que freezet.

Effectivement, je peux faire afficher les doublons, mais pour les supprimer, il faut que je les sélectionne un par un et cela ne me satisfait guère (j'ai plus de 10000 morceaux avec des doublonss ohmy.gif)
Donc maintenant qu'on a la liste des morceaux en doublons, comment faire pour n'en garder qu'une seule version?

Écrit par : JackJr300 8 Jun 2007, 01:30

CITATION(Grincheux @ 7 Jun 2007, 16:03) [snapback]2236608[/snapback]

mais pour les supprimer, il faut que je les sélectionne un par un et cela ne me satisfait guère (j'ai plus de 10000 morceaux avec des doublonss ohmy.gif)
Donc maintenant qu'on a la liste des morceaux en doublons, comment faire pour n'en garder qu'une seule version?


Voici un script AppleScript qui fait ça.

Après avoir sélectionné le menu "Afficher les éléments en double" :
Ne pas cliquer sur une colonne autre que la colonne "Nom"
Sélectionne tous les morceaux afficher, et exécute le script.

Ce script efface le fichier sans passer par la corbeille.
CODE
script o
    property Les_tracks : missing value
end script

set i to 1
tell application "iTunes"
    set o's Les_tracks to selection
    if o's Les_tracks is {} then return -- aucune selection, quitte le script
    
    set total to (count o's Les_tracks)
    repeat while i < total
        tell item i of o's Les_tracks to set {titre, Lartiste} to {name, artist}
        repeat with k from (i + 1) to total --ceci va enlever tous les doublons à la suite ayant le même titre, sauf le premier
            tell item k of o's Les_tracks to set {titre2, Lartiste2, T_ID} to {name, artist, database ID}
            if titre2 is titre and Lartiste is Lartiste2 then
                tell (get first track of library playlist 1 whose database ID is T_ID)
                    set the_path to quoted form of POSIX path of (get location)
                    delete -- enleve de la bibliotheque
                    my delete_file(the_path) --efface le fichier sur le disque
                end tell
            else
                exit repeat
            end if
        end repeat
        set i to k -- mets la variable (i) à l'index de l'élément dont le titre est différent
    end repeat
end tell

on delete_file(t_file)
    try
        do shell script "/bin/rm " & t_file
    end try
end delete_file


Utiliser ce script, si vous préférez que le Finder déplace le fichier à la corbeille. smile.gif tongue.gif

CODE
script o
    property Les_tracks : missing value
end script

set i to 1
tell application "iTunes"
    set o's Les_tracks to selection
    if o's Les_tracks is {} then return -- aucune selection, quitte le script
    
    set total to (count o's Les_tracks)
    repeat while i < total
        tell item i of o's Les_tracks to set {titre, Lartiste} to {name, artist}
        repeat with k from (i + 1) to total --ceci va enlever tous les doublons à la suite ayant le même titre, sauf le premier
            tell item k of o's Les_tracks to set {titre2, Lartiste2, T_ID} to {name, artist, database ID}
            if titre2 is titre and Lartiste is Lartiste2 then
                tell (get first track of library playlist 1 whose database ID is T_ID)
                    set the_path to location
                    delete -- enleve de la bibliotheque
                    my delete_file(the_path) --mets le fichier dans la corbeille
                end tell
            else
                exit repeat
            end if
        end repeat
        set i to k -- mets la variable (i) à l'index de l'élément dont le titre est différent
    end repeat
end tell

on delete_file(t_file)
    try
        tell application "Finder" to delete t_file -- mets le fichier à la corbeille.
    end try
end delete_file

Écrit par : Agadou 8 Jun 2007, 02:11

emot_012.gif Il faut quand même faire attention, car chez moi, par exemple, j'ai des doublons qui n'en sont pas... Ça peut être le même morceau, mais pas la même version (original, live, duo, remix, etc.), c'est pourquoi je préfère les vérifier et supprimer un par un, à la main...

Écrit par : Grincheux 8 Jun 2007, 06:36

CITATION(Agadou @ 8 Jun 2007, 03:11) [snapback]2237243[/snapback]

emot_012.gif Il faut quand même faire attention, car chez moi, par exemple, j'ai des doublons qui n'en sont pas... Ça peut être le même morceau, mais pas la même version (original, live, duo, remix, etc.), c'est pourquoi je préfère les vérifier et supprimer un par un, à la main...

C'est ce que j'étais en train de me dire, mais en triant les doublons par album puis par artiste, le script de JackJr300 ne devrait effacer que les doublons dans un même album (sauf cas de vraiment pas de bol) car il regarde les nom des morceaux à la suite wink.gif

Écrit par : Grincheux 8 Jun 2007, 15:00

Je viens de faire tourner le script de JackJr sur mes doubons et ça fait bien le ménage.
Par contre c'est pas rapide (normal c'est un script)

Écrit par : douce illusion 25 Jun 2007, 23:52

bonjour,
merci de me dire comment on utilise ce script (copier coller dans le terminal?)

Écrit par : JackJr300 26 Jun 2007, 00:08

Bonsoir,

Il faut le copier et coller dans l'application "Éditeur de script", il est dans le dossier "AppleScript" du dossier "Applications"

Écrit par : dvd 17 Jul 2007, 23:51

CITATION(JackJr300 @ 26 Jun 2007, 01:08) [snapback]2258622[/snapback]
Bonsoir,

Il faut le copier et coller dans l'application "Éditeur de script", il est dans le dossier "AppleScript" du dossier "Applications"

désolé de remonter, mais le script marche pas chez moi... y'a t'il un lien avec la nouvelle version d'iTunes? quand je fais sur executer il se passe rien... sad.gif

Écrit par : JackJr300 18 Jul 2007, 01:30

CITATION(dvd @ 17 Jul 2007, 23:51) [snapback]2281466[/snapback]

[désolé de remonter, mais le script marche pas chez moi... y'a t'il un lien avec la nouvelle version d'iTunes?
Je viens d'essayer en créant un doublon, ça fonctionne encore sur iTunes Version 7.3.1. smile.gif

CITATION(dvd @ 17 Jul 2007, 23:51) [snapback]2281466[/snapback]

quand je fais sur executer il se passe rien... sad.gif

As-tu sélectionné les morceaux ( commande + "a" ) ?
Sinon il ne fera rien.

Écrit par : dvd 18 Jul 2007, 09:34

merci mais en fait j'ai pas eu la patience d'attendre. j'ai effacé mano à mano les 2500 doublons d'itunes arf... smile.gif

Écrit par : kaseveline 5 Aug 2007, 17:55

Super ce scripts mais quand on utilise Windows comment fait on ???

Merci d'avance

Écrit par : p1ngu01 5 Aug 2007, 23:59

CITATION(kaseveline @ 6 Aug 2007, 04:55) [snapback]2299194[/snapback]
Super ce scripts mais quand on utilise Windows comment fait on ???

Salut,
Il n'est pas possible de faire marcher ces scripts sur Windows car ce sont des applescripts qui est un langage exclusivement Mac. smile.gif

Écrit par : direst 3 Nov 2007, 16:21

Bonjour,

Désolé de remonter ce post de si loin, mais je tiens a remercier JackJr300 pour cet applescript, Mon ImacG5 travaille tout seul sur mes éléments doublonnés (beaucoup trop pour les supprimer en manuel)

En plus, j'ai appris comment utiliser un script

Merci
Luc

Écrit par : tahitianfreak 3 Nov 2007, 18:34

CITATION(Grincheux @ 7 Jun 2007, 19:36) [snapback]2237308[/snapback]

CITATION(Agadou @ 8 Jun 2007, 03:11) [snapback]2237243[/snapback]

emot_012.gif Il faut quand même faire attention, car chez moi, par exemple, j'ai des doublons qui n'en sont pas... Ça peut être le même morceau, mais pas la même version (original, live, duo, remix, etc.), c'est pourquoi je préfère les vérifier et supprimer un par un, à la main...

C'est ce que j'étais en train de me dire, mais en triant les doublons par album puis par artiste, le script de JackJr300 ne devrait effacer que les doublons dans un même album (sauf cas de vraiment pas de bol) car il regarde les nom des morceaux à la suite wink.gif



sinon un bon moyen serait d'effacer les doublons qui ont le même titre et la même taille....

Écrit par : satare 31 Mar 2008, 15:48

CITATION(tahitianfreak @ 3 Nov 2007, 19:34) [snapback]2418338[/snapback]

CITATION(Grincheux @ 7 Jun 2007, 19:36) [snapback]2237308[/snapback]

CITATION(Agadou @ 8 Jun 2007, 03:11) [snapback]2237243[/snapback]

emot_012.gif Il faut quand même faire attention, car chez moi, par exemple, j'ai des doublons qui n'en sont pas... Ça peut être le même morceau, mais pas la même version (original, live, duo, remix, etc.), c'est pourquoi je préfère les vérifier et supprimer un par un, à la main...

C'est ce que j'étais en train de me dire, mais en triant les doublons par album puis par artiste, le script de JackJr300 ne devrait effacer que les doublons dans un même album (sauf cas de vraiment pas de bol) car il regarde les nom des morceaux à la suite wink.gif



sinon un bon moyen serait d'effacer les doublons qui ont le même titre et la même taille....

Ou en verifiant que l'album est different ...
j'ai fait la manip ;o) Merci à l'auteur du Script !
CODE
script o
    property Les_tracks : missing value
end script

set i to 1
tell application "iTunes"
    set o's Les_tracks to selection
    if o's Les_tracks is {} then return -- aucune selection, quitte le script
    
    set total to (count o's Les_tracks)
    repeat while i < total
        tell item i of o's Les_tracks to set {titre, Lartiste, Lalbum} to {name, artist, album}
        repeat with k from (i + 1) to total --ceci va enlever tous les doublons à la suite ayant le même titre, sauf le premier en surveillant que ca soit le meme album
            tell item k of o's Les_tracks to set {titre2, Lartiste2, Lalbum2, T_ID} to {name, artist, album, database ID}
            if titre2 is titre and Lartiste is Lartiste2 and Lalbum is Lalbum2 then
                tell (get first track of library playlist 1 whose database ID is T_ID)
                    set the_path to location
                    delete -- enleve de la bibliotheque
                    my delete_file(the_path) --mets le fichier dans la corbeille
                end tell
            else
                exit repeat
            end if
        end repeat
        set i to k -- mets la variable (i) à l'index de l'élément dont le titre est différent
    end repeat
end tell

on delete_file(t_file)
    try
        tell application "Finder" to delete t_file -- mets le fichier à la corbeille.
    end try
end delete_file

Écrit par : ongalain 28 Oct 2008, 17:27

Bonsoir
Merci

Ce fil m'a bien aidé à faire le ménage.

Alain


Écrit par : J0O 16 Nov 2008, 15:48

Je viens de supprimer prés de 1940 doublons soit prés de 5 giga Mon mac et MOi vous remercions de tt coeur pr ce petit script génial. :-)

Écrit par : Goxx 24 Nov 2008, 20:11

Le mieux n est il pas de comparer la durée des morceaux en plus du nom ?

Merci en tout cas je vais essayer ...

Goxx.

Écrit par : letif 3 Dec 2008, 12:46

Hello,

Trop content de trouver un script pour réglé mon problème de doublons, je l'execute comme expliqué plus haut, mais voilà:
Message erreur Il est impossible d’obtenir location of {file track id 31832 of library playlist id 17957 of source id 139 of application "iTunes"}.

j'ai ma bibliothèque itunes sur un disc externe en firewire. Est-ce qu'il faut modifier le script ou y'a t'il autre chose?


Écrit par : Soap 29 Dec 2008, 03:14

CITATION(satare @ 31 Mar 2008, 15:48) [snapback]2618842[/snapback]

CITATION(tahitianfreak @ 3 Nov 2007, 19:34) [snapback]2418338[/snapback]

CITATION(Grincheux @ 7 Jun 2007, 19:36) [snapback]2237308[/snapback]

CITATION(Agadou @ 8 Jun 2007, 03:11) [snapback]2237243[/snapback]

emot_012.gif Il faut quand même faire attention, car chez moi, par exemple, j'ai des doublons qui n'en sont pas... Ça peut être le même morceau, mais pas la même version (original, live, duo, remix, etc.), c'est pourquoi je préfère les vérifier et supprimer un par un, à la main...

C'est ce que j'étais en train de me dire, mais en triant les doublons par album puis par artiste, le script de JackJr300 ne devrait effacer que les doublons dans un même album (sauf cas de vraiment pas de bol) car il regarde les nom des morceaux à la suite wink.gif



sinon un bon moyen serait d'effacer les doublons qui ont le même titre et la même taille....

Ou en verifiant que l'album est different ...
j'ai fait la manip ;o) Merci à l'auteur du Script !
CODE
script o
    property Les_tracks : missing value
end script

set i to 1
tell application "iTunes"
    set o's Les_tracks to selection
    if o's Les_tracks is {} then return -- aucune selection, quitte le script
    
    set total to (count o's Les_tracks)
    repeat while i < total
        tell item i of o's Les_tracks to set {titre, Lartiste, Lalbum} to {name, artist, album}
        repeat with k from (i + 1) to total --ceci va enlever tous les doublons à la suite ayant le même titre, sauf le premier en surveillant que ca soit le meme album
            tell item k of o's Les_tracks to set {titre2, Lartiste2, Lalbum2, T_ID} to {name, artist, album, database ID}
            if titre2 is titre and Lartiste is Lartiste2 and Lalbum is Lalbum2 then
                tell (get first track of library playlist 1 whose database ID is T_ID)
                    set the_path to location
                    delete -- enleve de la bibliotheque
                    my delete_file(the_path) --mets le fichier dans la corbeille
                end tell
            else
                exit repeat
            end if
        end repeat
        set i to k -- mets la variable (i) à l'index de l'élément dont le titre est différent
    end repeat
end tell

on delete_file(t_file)
    try
        tell application "Finder" to delete t_file -- mets le fichier à la corbeille.
    end try
end delete_file





Comme dirait la jeunesse... "Trop d'la balle ce script, j'dis franch'ment, j'kiffe grave comment ça déchire..."
Moi j'préfère dire que le script est super efficace et que je viens de délester mon tutune de 9,3 Go de doublons... tongue.gif J'avais un peu peur quand même du fait que la plupart de ces fichiers sont des séances studios personnelles, donc aucune possibilité de retrouver une copie en cas de merdouillage... Mais non, tout se passe nickel du début à la fin. Miam.


A utiliser les yeux fermés...

Écrit par : le jeune bidouilleur 13 Jan 2009, 06:49

Ca marche pas avec itunes 8.01.
Une solution?
A+ merci

Écrit par : Lemouton38 17 Jan 2009, 19:25

bonjour,

Voila vous parlez de scripts et de trucs compliqués mais comment ca marche un script qu'est ce que c'ets un editeur de script et tout ?
Ce ke j'aimerais savoir en gros c'est toutes les etapes pour ecrire un script et l'executer
merci d'avance laugh.gif rolleyes.gif rolleyes.gif rolleyes.gif laugh.gif

(je suis sous vista je sais pas si ca change kkchose ) blink.gif blink.gif blink.gif

Écrit par : DocteurTuTuT 18 Jan 2009, 23:02

un applescript n'est pas un vistascript!

Écrit par : tahitianfreak 19 Jan 2009, 04:24

CITATION(Lemouton38 @ 17 Jan 2009, 08:25) [snapback]2912193[/snapback]

bonjour,

Voila vous parlez de scripts et de trucs compliqués mais comment ca marche un script qu'est ce que c'ets un editeur de script et tout ?
Ce ke j'aimerais savoir en gros c'est toutes les etapes pour ecrire un script et l'executer
merci d'avance laugh.gif rolleyes.gif rolleyes.gif rolleyes.gif laugh.gif

(je suis sous vista je sais pas si ca change kkchose ) blink.gif blink.gif blink.gif



salut, bienvenue, etc....

si tu lisais tout ce post, en entier, tu verrais deux choses :
d'abord comme il a été précisé plus haut, les scripts ne marchent que sur OSX et non sur WIN...
ensuite, comme il a été aussi précisé plus haut, les scripts sont des applescript, donc ne fonctionnent pas sur WIN.

Écrit par : Lemouton38 19 Jan 2009, 13:44

Merci de t'a réponse mais alors je fait comment ? huh.gif
Parke on m'avait dit ke vista c'etait chaint mais bon je pensais pas a ce point la
Donc voila il y a surement un moyen d'operer sous vista
Si je pouvais savoir comment faire ca m'arrangerait wink.gif

Merci d'avance whistle.gif

Écrit par : Agadou 20 Jan 2009, 02:57

Et bien, il y a au moins la fonction "afficher les éléments en double" intégrée à iTunes...

Écrit par : le jeune bidouilleur 22 Jan 2009, 02:33

CITATION(le jeune bidouilleur @ 13 Jan 2009, 07:49) [snapback]2907707[/snapback]

Ca marche pas avec itunes 8.01.
Une solution?
A+ merci

Je relance
Merci

Écrit par : maclyr 30 Jan 2009, 17:36

Citation (le jeune bidouilleur @ 22 Jan 2009, 03:33) *
Citation (le jeune bidouilleur @ 13 Jan 2009, 07:49) *

Ca marche pas avec itunes 8.01.
Une solution?
A+ merci

Je relance
Merci

Oui je confirme CE script marche avec iTunes 8 :
Code
script o
    property Les_tracks : missing value
end script

set i to 1
tell application "iTunes"
    set o's Les_tracks to selection
    if o's Les_tracks is {} then return -- aucune selection, quitte le script
    
    set total to (count o's Les_tracks)
    repeat while i < total
        tell item i of o's Les_tracks to set {titre, Lartiste, Lalbum} to {name, artist, album}
        repeat with k from (i + 1) to total --ceci va enlever tous les doublons à la suite ayant le même titre, sauf le premier en surveillant que ca soit le meme album
            tell item k of o's Les_tracks to set {titre2, Lartiste2, Lalbum2, T_ID} to {name, artist, album, database ID}
            if titre2 is titre and Lartiste is Lartiste2 and Lalbum is Lalbum2 then
                tell (get first track of library playlist 1 whose database ID is T_ID)
                    set the_path to location
                    delete -- enleve de la bibliotheque
                    my delete_file(the_path) --mets le fichier dans la corbeille
                end tell
            else
                exit repeat
            end if
        end repeat
        set i to k -- mets la variable (i) à l'index de l'élément dont le titre est différent
    end repeat
end tell

on delete_file(t_file)
    try
        tell application "Finder" to delete t_file -- mets le fichier à la corbeille.
    end try
end delete_file

Écrit par : le jeune bidouilleur 1 Feb 2009, 23:54

Merci ça marche super!

Écrit par : ldbx 14 Feb 2009, 14:11

ca fonctionne sous itunes - mais il y a des faux doublons qui vont etre détecter comme doublons a nettoyer:
ca arrive surtout en classique mais ce n'est pas exclus pour la pop:
dans un meme album deux morceaux differents peuvent porter le meme nom
1 - allegro
2 - adagio
3 - allegro
et le numero de piste n'est pas toujours ajoute au nom du morceau dans l'id3-Tag ...
donc soit il faut de plus tester l'egalité des numeros de piste -
une logique serait :
-2 numeros de piste differents : c'est pas un doublon
-2 numeros identiques : c'est un doublon
-1 seul numero: a priori c'est un doublon
- aucun numero: a priori c'est un doublon

Écrit par : EricaL** 14 Feb 2009, 21:36

Bonjour,

Citation (ldbx @ 14 Feb 2009, 08:11) *
ca fonctionne sous itunes - mais il y a des faux doublons qui vont etre détecter comme doublons a nettoyer:
ca arrive surtout en classique mais ce n'est pas exclus pour la pop:

donc soit il faut de plus tester l'egalité des numeros de piste -
une logique serait :
-2 numeros de piste differents : c'est pas un doublon
-2 numeros identiques : c'est un doublon
-1 seul numero: a priori c'est un doublon
- aucun numero: a priori c'est un doublon

Ce n'est pas vraiment compliqué à modifier.
Voici le script :
Code
script o
    property Les_tracks : missing value
end script

set i to 1
tell application "iTunes"
    set o's Les_tracks to selection
    if o's Les_tracks is {} then return -- aucune sélection, quitte le script
    
    set total to (count o's Les_tracks)
    repeat while i < total
        tell item i of o's Les_tracks to set {titre, Lartiste, Lalbum, T_ID, No_piste} to {name, artist, album, database ID, track number}
        repeat with k from (i + 1) to total --ceci va enlever tous les doublons à la suite ayant le même titre,  même album, no de piste
            tell item k of o's Les_tracks to set {titre2, Lartiste2, Lalbum2, T_ID2, No_piste2} to {name, artist, album, database ID, track number}
            if titre2 is titre and Lartiste is Lartiste2 and Lalbum is Lalbum2 then
                if T_ID is not T_ID2 then if No_piste = No_piste2 or No_piste = 0 or No_piste2 = 0 then tell (get first track of library playlist 1 whose database ID is T_ID2)
                    set the_path to location
                    delete --supprime de la bibliothèque
                    my delete_file(the_path) --mets le fichier dans la corbeille
                end tell
            else
                exit repeat
            end if
        end repeat
        set i to k -- mets la variable (i) à l'index de l'élément dont le titre est différent
    end repeat
end tell

on delete_file(t_file)
    try
        tell application "Finder" to delete t_file
    end try
end delete_file

Si le numéro de la piste n'est pas défini dans le tag, iTunes donnera 0 pour le numéro de piste dans un AppleScript.
Donc si un des deux numéros de pistes est 0 ou les deux numéros s'équivalent, le script va le supprimer.

J'ai ajouté la vérification de la "database ID" en cas de doublon dans une liste de lecture personnalisée, car on peut ajouté des doublons qui auront le même fichier comme référence, sinon le fichier unique sera effacé.
Mais, ce n'est pas possible d'avoir la même "database ID" sur les pistes dans une de ces bibliothèques ( Musique, Films, etc..)

Écrit par : mala116 26 Feb 2009, 14:45

Merci beaucoup, le script marche impeccable sur la dernière version itunes

Écrit par : Tomeno 31 Mar 2009, 17:31

Citation (EricaL** @ 14 Feb 2009, 22:36) *
Ce n'est pas vraiment compliqué à modifier.


Une modif supplémentaire sympa serait
  1. d'avoir un écran d'accueil expliquant que le script va enlever tous les doublons ayant le même titre, même album, no de piste
  2. ajouter une instruction selectionnant tous les morceaux de la liste (Commande A) avant de poursuivre le script

Écrit par : EricaL** 1 Apr 2009, 00:37

Bonjour,

Citation (Tomeno @ 31 Mar 2009, 12:31) *
Citation (EricaL** @ 14 Feb 2009, 22:36) *
Ce n'est pas vraiment compliqué à modifier.


Une modif supplémentaire sympa serait
  1. d'avoir un écran d'accueil expliquant que le script va enlever tous les doublons ayant le même titre, même album, no de piste
  2. ajouter une instruction selectionnant tous les morceaux de la liste (Commande A) avant de poursuivre le script


Voici le script modifié.
Code
script o
    property Les_tracks : missing value
end script
set reussi to 0
set non_reussi to 0

display dialog "                             Attention !" & return & return & "Ce script va supprimer tous les doublons" & return & "ayant le même titre, le même album" & return ¬
    & "et le même numéro de piste" & return & "à partir des pistes sélectionnées" with title "Supprimer des  doublons" buttons {"Quitter le script", "Continuer"} cancel button "Quitter le script"

set i to 1
tell application "iTunes"
    set o's Les_tracks to selection
    if o's Les_tracks is {} then error "Vous devez sélectionner des pistes avant d'exécuter ce script."
    
    set total to (count o's Les_tracks)
    repeat while i < total
        tell item i of o's Les_tracks to set {titre, Lartiste, Lalbum, T_ID, No_piste} to {name, artist, album, database ID, track number}
        repeat with k from (i + 1) to total --ceci va enlever tous les doublons à la suite ayant le même titre,  même album, no de piste
            tell item k of o's Les_tracks to set {titre2, Lartiste2, Lalbum2, T_ID2, No_piste2} to {name, artist, album, database ID, track number}
            if titre2 is titre and Lartiste is Lartiste2 and Lalbum is Lalbum2 then
                if T_ID is not T_ID2 then
                    if No_piste = No_piste2 or No_piste = 0 or No_piste2 = 0 then
                        tell (get first track of library playlist 1 whose database ID is T_ID2)
                            set the_path to location
                            if my delete_file(the_path) then
                                delete --supprime de la bibliothèque
                                set reussi to reussi + 1
                            else
                                set non_reussi to non_reussi + 1
                            end if
                        end tell
                    end if
                else --même database id : supprime de la liste de lecture seulement , pas dans la  bibliotheque, ni sur le disque
                    delete item k of o's Les_tracks
                end if
            else
                exit repeat
            end if
        end repeat
        set i to k -- mets la variable (i) à l'index de l'élément dont le titre est différent
    end repeat
end tell
display dialog "" & reussi & " doublons supprimés." & return & non_reussi & " doublons non supprimés"

on delete_file(t_file)
    try
        tell application "Finder" to delete t_file
        return true
    end try
    return false
end delete_file

Écrit par : Tomeno 1 Apr 2009, 17:39

Citation (EricaL** @ 1 Apr 2009, 01:37) *
Voici le script modifié.


merci+++
manque plus qu'un petit display dialog final pour annoncer que tout s'est bien passé (et afficher le nombre de fichiers supprimés ??? )

Mais ce qui est curieux dans ton script c'est qu'au moment ou il faut faire le Commande A, la fenêtre d'iTunes est "hidden"

Écrit par : Keam 2 Apr 2009, 13:53

Salut,
Qu'elle est la cible de ce script? La bibliothèque? Peut-on spécifier une liste de lecture en paramètre d'entrée?

Merci.

Écrit par : EricaL** 2 Apr 2009, 21:29

Citation (Tomeno @ 1 Apr 2009, 12:39) *
manque plus qu'un petit display dialog final pour annoncer que tout s'est bien passé (et afficher le nombre de fichiers supprimés ??? )

J'ai modifié le script dans le http://forum.macbidouille.com/index.php?s=&showtopic=187406&view=findpost&p=2972988

Ajout dans le script : supprime une piste dans une liste de lecture personnelle ayant la même référence (database id) .
Cela ne supprime rien dans la bibliothèque, ni sur le disque.

Citation (Tomeno @ 1 Apr 2009, 12:39) *
Mais ce qui est curieux dans ton script c'est qu'au moment ou il faut faire le Commande A, la fenêtre d'iTunes est "hidden"

La fenêtre est invisible ? blink.gif

Ici, la fenêtre est juste en arrière du dialogue. smile.gif

Écrit par : EricaL** 2 Apr 2009, 22:08

Bonsoir,

Citation (Keam @ 2 Apr 2009, 08:53) *
Salut,
Qu'elle est la cible de ce script? La bibliothèque?

La cible est sur les pistes sélectionnées.
Oui, c'est sur la bibliothèque en général qu'on utilise ce script , mais ça fonctionne aussi sur les listes de lecture.


Citation (Keam @ 2 Apr 2009, 08:53) *
Peut-on spécifier une liste de lecture en paramètre d'entrée?

Merci.

Oui, mais la liste de lecture doit être triée par nom pour que le script fonctionne.
Code
script o
    property Les_tracks : missing value
end script

set i to 1
tell application "iTunes"
    set o's Les_tracks to tracks of user playlist "liste sans titre" -- ***  titre de votre liste de lecture ****
    if o's Les_tracks is {} then return -- aucune pistes dans la listes de lecture
    
    set total to (count o's Les_tracks)
    repeat while i < total
        tell item i of o's Les_tracks to set {titre, Lartiste, Lalbum, T_ID, No_piste} to {name, artist, album, database ID, track number}
        repeat with k from (i + 1) to total --ceci va enlever tous les doublons à la suite ayant le même titre,  même album, no de piste
            tell item k of o's Les_tracks to set {titre2, Lartiste2, Lalbum2, T_ID2, No_piste2} to {name, artist, album, database ID, track number}
            if titre2 is titre and Lartiste is Lartiste2 and Lalbum is Lalbum2 then
                if T_ID is not T_ID2 then
                    if No_piste = No_piste2 or No_piste = 0 or No_piste2 = 0 then
                        tell (get first track of library playlist 1 whose database ID is T_ID2)
                            set the_path to location
                            if my delete_file(the_path) then delete --supprime de la bibliothèque et de la liste de lecture
                        end tell
                    end if
                else --même database id : supprime de la liste de lecture seulement , pas dans la  bibliotheque, ni sur le disque
                    delete item k of o's Les_tracks
                end if
            else
                exit repeat
            end if
        end repeat
        set i to k -- mets la variable (i) à l'index de l'élément dont le titre est différent
    end repeat
end tell


on delete_file(t_file)
    try
        tell application "Finder" to delete t_file
        return true
    end try
    return false
end delete_file


Écrit par : Keam 3 Apr 2009, 10:14

Ok merci je vais essayer çà.

En fait pour l'instant je me sers d'Automator pour ajouter dans ma liste "new" tous les mp3 de mon dossier "A_ajouter". Et comme Automator n'a pas de fonction qui vérifie que ce qu'il ajoute n'est pas déjà présent dans la liste çà me fait plein de doublons. C'est là que je fais entrer le script en jeu: lui passer la liste "new" en paramètre d'entrée et qu'il en supprime les doublons.

EDIT: J'execute le script par l'intermédiaire d'automator et il ne me supprime rien. Biensur je sélectionne au préalable mes doublons dans iTunes et ensuite j'execute le script, aucun problème détecté à l'execution mais aucun doublon supprimé.

Je prends le script du message #37 et pour l'executer je dois enlever la message box:

display dialog " Attention !" & return & return & "Ce script va supprimer tous les doublons" & return & "ayant le même titre, le même album" & return
& "et le même numéro de piste" & return & "à partir des pistes sélectionnées" with title "Supprimer des doublons" buttons {"Quitter le script", "Continuer"} cancel button "Quitter le script"

Sinon il me dit qu'il y a une erreur dans le script.

Écrit par : Tomeno 3 Apr 2009, 18:20

Citation (EricaL** @ 2 Apr 2009, 22:29) *
J'ai modifié le script dans le http://forum.macbidouille.com/index.php?s=&showtopic=187406&view=findpost&p=2972988

Ajout dans le script : supprime une piste dans une liste de lecture personnelle ayant la même référence (database id) .
Cela ne supprime rien dans la bibliothèque, ni sur le disque.

La fenêtre est invisible ? blink.gif
Ici, la fenêtre est juste en arrière du dialogue. smile.gif

Merci++ MAIS :
Chez moi la fenétre d'iTunes continue d'être invisible (et pourtant elle est plus grande que celle du dialogue donc si elle était derriere je devrais la voir): je dois cliquer sur l'icone d'iTunes dans le dock pour la rendre visible
De plus la version qui est dans le message 37 ne supprime plus rien du tout
Et en fait ce qui serait bien c'est un script qui supprime vraiement les doublons de la bibliothéque, du moins c'est ça que je cherchais

Écrit par : EricaL** 3 Apr 2009, 19:52

Bonjour,

Citation (Tomeno @ 3 Apr 2009, 13:20) *
Chez moi la fenétre d'iTunes continue d'être invisible (et pourtant elle est plus grande que celle du dialogue donc si elle était derriere je devrais la voir): je dois cliquer sur l'icone d'iTunes dans le dock pour la rendre visible

Il n'y a rien dans le script qui met la fenêtre dans le Dock.

Sil ce n'est pas un bogue, la seule raison qui expliquerait la fenêtre invisible, c'est qu’iTunes n'est pas visible ou lancée quand tu exécutes le script.
Dans ce cas, il suffit de mettre activate après la ligne : (tell application "iTunes")
Code
tell application "iTunes"
activate

Sinon, donne-nous plus de détails.

Citation (Tomeno @ 3 Apr 2009, 13:20) *
De plus la version qui est dans le message 37 ne supprime plus rien du tout

J'avais oublié d'enlever un return et de compter les fichiers supprimés, c'est corrigé maintenant.

Citation (Tomeno @ 3 Apr 2009, 13:20) *
Et en fait ce qui serait bien c'est un script qui supprime vraiement les doublons de la bibliothéque, du moins c'est ça que je cherchais

Ce script fait cela.
Ce que j'ai fait, c'est d'ajouter (selon les demandes) des dialogues, compter les pistes supprimées et d'ajouter certaines conditions comme le numéro de piste avant de supprimer, le but du script est toujours le même, c'est de supprimer les doublons.

J'ai fait des tests et le script fonctionne bien ici.
Si, avec ces ajouts le script ne fonctionne pas pour vous, vous pouvez utiliser le script du http://forum.macbidouille.com/index.php?s=&showtopic=187406&view=findpost&p=2923105 ou le script original du http://forum.macbidouille.com/index.php?s=&showtopic=187406&view=findpost&p=2237232.

Écrit par : Tomeno 4 Apr 2009, 17:11

Citation (EricaL** @ 3 Apr 2009, 20:52) *
Citation (Tomeno @ 3 Apr 2009, 13:20) *
De plus la version qui est dans le message 37 ne supprime plus rien du tout

J'avais oublié d'enlever un return et de compter les fichiers supprimés, c'est corrigé maintenant.


Oui ça remarche bien ainsi

Quand je te disais qu' en lançant le script ça faisait disparaitre la fenetre d'Itunes et que je devais cliquer dans le dock pour la rendre visible, ce n'est pas que la fenetre d'iTunes se mettais dans le dock, c'est qu'elle disparait comme quand on fait "masquer l'application" (Option, Commabde, H) et c'est sur l'icone de l'application, pas sur sa fenetre rangée dans le dock, que je dois cliquer. Mais bon c'est un inconvénient mineur.

Écrit par : lalywizz 24 May 2009, 18:36

Toutes ces informations sont ultra pratiques pour un ménage bien fait!!!!


Toutefois, il resterait un petit détail afin que ce script soit complet à 100%.

Prenons par exemple deux fichiers mp3 qui soient identiques, mais que l'un des deux aie un tag plus complet que l'autre (ex. avec l'info: artiste de l'album, année, genre, etc) et pas l'autre.
Comment savoir, en supprimant nos doublons, que nous effaçons réellement le fichiers que l'on veut (dans ce cas-ci, moi j'aurais gardé le fichier avec l'info complète et pas seulement celui avec l'info titre et artiste seulement)?

Serait-ce possible d'ajouter à ce script une mention quant à la date de l'ajout de ce fichier (dans la bibliothèque iTunes), afin de pouvoir préciser que l'on voudrait supprimer le fichier le plus ancien ou le plus récent (ou selon une date précise)?
Ou encore, en ajoutant à ce script une autre précision du genre (ex. supprimer que les fichiers dont la section "artiste de l'album" est vide).

Je pose cette question à savoir si ceux qui ont les notions pour corriger ce script peuvent ajouter cet élément de précision. Car avec la dernière version de ce script (dans ce forum), mon ménage s'est très bien exécuté, mais certains fichiers avec les infos "incomplètes" ont eu préséances sur les fichiers avec les infos complètes, et ça demande maintenant des manipulations supplémentaires pour rectifier la chose.


Merci!

Écrit par : EricaL** 27 May 2009, 07:45

Bonjour,

Citation (lalywizz @ 24 May 2009, 13:36) *
Serait-ce possible d'ajouter à ce script une mention quant à la date de l'ajout de ce fichier (dans la bibliothèque iTunes), afin de pouvoir préciser que l'on voudrait supprimer le fichier le plus ancien ou le plus récent ?

Pour ça, il suffit de trier la colonne "Date de l'ajout" en ascendant et de cliquer sur la colonne "Nom" si tu veux supprimer les doublons les plus récents.

Ou de trier la colonne "Date de l'ajout" en descendant et de cliquer sur la colonne "Nom" pour supprimer les doublons les plus anciens.


Écrit par : cisfr 28 May 2009, 20:51

merci ,merci 12 gigas récupérés en ce qui me concerne ...Faut dire que c'était un sacré souk dans mes MP3....

Écrit par : agyeman 19 Jul 2009, 10:34

Une petie astuce consiste à rechercher les doubles exactes dans i Tunes en appuyant sur la touche option (alt) en cliquant sur la recherche des doubles dans fichier.

Écrit par : vivendora 23 Jul 2009, 00:24

tout d'abord un GRAND GRAND MERCIIIIIII a tous pour vos conseils, ca fait des mois que je me prends la tete a essayer de tout effacer manuellement ; et généralement ca me déprime au bout de 10 min ( voire 5!) , bref 1274 doublons effacés , presque 9 Go ..... Le scripte est génial !
Merci encore c'est vraiment sympa de prendre du temps pour partager les astuces . Encore merci et bravo biggrin.gif

Écrit par : liomega 24 Jul 2009, 10:23

petite question stupide oups...
comment on exécute un script?
ou doit le mettre?
je suis novice avec mon macbookpro...
merci de votre aide

Écrit par : ades 24 Jul 2009, 10:53

c'est expliqué plus haut rolleyes.gif

Écrit par : Byrdland 14 Sep 2009, 16:39

Tous mes remerciements à Jack jr 300 pour son script magique !!
J'étais face à 18 000 doublons ...... voilà tout est réglé.
ll y a longtemps j'ai fait de la programmation, applescript me donne envie de m'y remettre !

NB Une petite chose que je ne m'explique pas :
Un ami m'avait transmis par mail le fameux script...... cela ne fonctionnait pas, en allant sur le forum et en recopiant le texte du script à partir du message original, l'éditeur de script a reconnu les instructions qui sont apparues en bleu, et le script a démarré !
smile.gif smile.gif smile.gif smile.gif

Écrit par : LeVifArgent! 27 Sep 2009, 16:56

Le script du message #37 fonctionne impecc' !
Merci vraiment smile.gif

Écrit par : babyboy177 14 Nov 2009, 15:30

Je relance pour Itunes 9.0.2 .
Lorsque je veux lancer le script, il me dit qu'il n'y pas de doublons, or j'en ai pas mal. =D

Si quelqu'un avait la solution.

Écrit par : EricaL** 15 Nov 2009, 01:44

Bonjour,

Citation (babyboy177 @ 14 Nov 2009, 09:30) *
Je relance pour Itunes 9.0.2 .
Lorsque je veux lancer le script, il me dit qu'il n'y pas de doublons, or j'en ai pas mal. =D

Le script du http://forum.macbidouille.com/index.php?s=&showtopic=187406&view=findpost&p=2972988 fonctionne ici sur Itunes 9.0.2

Écrit par : joon59 21 Nov 2009, 20:02

Impec, ça marche parfaitement, le mac fait le boulot a ma place, en espérant qu'il fait pas trop le ménage non plus lol.

Écrit par : serpiko69 22 Nov 2009, 16:37

Ca fonctionne je suis bluffé...
merci !

Écrit par : Natacha Pitre 22 Nov 2009, 18:33

merci pour ce script, je viens de faire le ménage en deux temps trois mouvements

Écrit par : Gohu 4 Dec 2009, 19:42

Bonjour tout le monde,

désolé de te relancer Erical**, mais personnellement j'aimerais supprimer les doublons seulement s'ils ont exactement le même nom, le même album, le même artiste, pourquoi pas le même numéro de piste (pour l'instant rien de nouveau), mais surtout la même taille et la même durée.

J'imagine qu'il suffit pour ça que je rajoute Size et Time après No_piste ou track number dans le script, seulement je ne sais pas exactement quel nom donner (je ne sais absolument pas créer un script). Je veux dire que par exemple pour vérifier que les doublons aient bien le même numéro de piste tu marques No_piste dans la première parenthèse, et track number dans la deuxième, donc je ne sait pas trop quoi mettre. Si ça ne t'embête pas trop, tu pourrais me dire quoi faire exactement ?

Je te remercie !

Écrit par : EricaL** 5 Dec 2009, 22:24

Bonjour,

Citation (Gohu @ 4 Dec 2009, 13:42) *
j'aimerais supprimer les doublons seulement s'ils ont exactement le même nom, le même album, le même artiste, pourquoi pas le même numéro de piste (pour l'instant rien de nouveau), mais surtout la même taille et la même durée.

Voici les lignes modifiées du script dans le message #37
Code
        tell item i of o's Les_tracks to set {titre, Lartiste, Lalbum, T_ID, No_piste, temps, taille} to {name, artist, album, database ID, track number, time, size}
        repeat with k from (i + 1) to total --ceci va enlever tous les doublons à la suite ayant le même titre,  même album, no de piste, taille, durée
            tell item k of o's Les_tracks to set {titre2, Lartiste2, Lalbum2, T_ID2, No_piste2, temps2, taille2} to {name, artist, album, database ID, track number, time, size}
            if titre2 is titre and Lartiste is Lartiste2 and Lalbum is Lalbum2 then
                if T_ID is not T_ID2 then
                    if No_piste = No_piste2 and temps = temps2 and taille = taille2 then

Information : la taille en AppleScript (size) est le nombre exact d'octets du fichier et non celui affiché dans la colonne "Taille" d'iTunes .
Inconvénient : la taille en Mo peut être identique dans la colonne, mais il est possible que la taille ne soit pas identique en octets, donc le doublon ne sera pas supprimé.

Exemple : je duplique un morceau, je l'ajoute dans iTunes, le size est identique.
Je supprime la pochette du morceau dupliqué, je copie la pochette du morceau original, je la colle dans le morceau dupliqué, la taille en octets n'est plus identique (morceau original 9209754 octets, morceau dupliqué 9213562 octets).

Écrit par : pluchon 9 Dec 2009, 22:37

nickel merci !
cool.gif

Écrit par : Gohu 9 Dec 2009, 22:47

Oui ça marche à la perfection, c'est génial ! Merci beaucoup !!

Écrit par : pmartignier 13 Jan 2010, 00:25

Merci çà tourne en ce moment....

attention çà plante dès qu'il y a des radios web, mais si on fait le tri des radios avant (flux) çà passe nickel!

c'est hallucinant qu apple n'ait pas incorporé un tel script de base ... mais bon y reste tjs la bidouille smile.gif merci !!!!!

Écrit par : phiiris 27 Feb 2010, 12:45

Un grand merci pour le script, ça me sauve vraiment : 14000 titres dans la série des doublons suite à des (très) mauvaises manipulations dédoublés détriplés, déquadruplés en un minimum de temps. Super.

Phiiris.

Écrit par : ptitsuisse 31 Mar 2010, 17:50

Hello !

...j'suis assez nouveau chez mac, et j'rencontre un prob' avec le script...

...primo, j'arrive pas à le copié-collé dans l'éditeur...alors j'ai écrit ligne par ligne...mais je sais pas pk, il me met qu'il y a une erreure dedans...
...alors j'essaye de le mettre ici, mias 2ème couac, impossible de le joindre...

pour info, j'ai fait donc un mix du message 37 et 61

...si jamais mon mail : ed.mon ( at ) hotmail . fr

...merci d'avance pour votre aide ! =)

Écrit par : EricaL** 3 Apr 2010, 01:11

Bonsoir,

Citation (ptitsuisse @ 31 Mar 2010, 12:50) *
...primo, j'arrive pas à le copié-collé dans l'éditeur...alors j'ai écrit ligne par ligne...mais je sais pas pk, il me met qu'il y a une erreure dedans...


À partir de quel navigateur copier vous le texte ?
À partir de quel éditeur coller vous le texte ?
Quel est le texte du message d'erreur ?
Quelle est la version d'iTunes ?
Quelle est la version de Mac OS X ?

Le mix du script dans le message 37 et du script dans le message 61 donnerait :
Code
script o
    property Les_tracks : missing value
end script
set reussi to 0
set non_reussi to 0

display dialog "                             Attention !" & return & return & "Ce script va supprimer tous les doublons" & return & "ayant le même titre, le même album" & return ¬
    & "et le même numéro de piste" & return & "à partir des pistes sélectionnées" with title "Supprimer des  doublons" buttons {"Quitter le script", "Continuer"} cancel button "Quitter le script"

set i to 1
tell application "iTunes"
    set o's Les_tracks to selection
    if o's Les_tracks is {} then error "Vous devez sélectionner des pistes avant d'exécuter ce script."
    
    set total to (count o's Les_tracks)
    repeat while i < total
        tell item i of o's Les_tracks to set {titre, Lartiste, Lalbum, T_ID, No_piste, temps, taille} to {name, artist, album, database ID, track number, time, size}
        repeat with k from (i + 1) to total --ceci va enlever tous les doublons à la suite ayant le même titre,  même album, no de piste, taille, durée
            tell item k of o's Les_tracks to set {titre2, Lartiste2, Lalbum2, T_ID2, No_piste2, temps2, taille2} to {name, artist, album, database ID, track number, time, size}
            if titre2 is titre and Lartiste is Lartiste2 and Lalbum is Lalbum2 then
                if T_ID is not T_ID2 then
                    if No_piste = No_piste2 and temps = temps2 and taille = taille2 then
                        tell (get first track of library playlist 1 whose database ID is T_ID2)
                            set the_path to location
                            if my delete_file(the_path) then
                                delete --supprime de la bibliothèque
                                set reussi to reussi + 1
                            else
                                set non_reussi to non_reussi + 1
                            end if
                        end tell
                    end if
                else --même database id : supprime de la liste de lecture seulement , pas dans la  bibliotheque, ni sur le disque
                    delete item k of o's Les_tracks
                end if
            else
                exit repeat
            end if
        end repeat
        set i to k -- mets la variable (i) à l'index de l'élément dont le titre est différent
    end repeat
end tell
display dialog "" & reussi & " doublons supprimés." & return & non_reussi & " doublons non supprimés"

on delete_file(t_file)
    try
        tell application "Finder" to delete t_file
        return true
    end try
    return false
end delete_file

Écrit par : ptitsuisse 5 Apr 2010, 16:57

Re'

Merci beaucoup pour ta réponse, je ne sais pas pourquoi sa n'allai pas, en faite, j'ai redemarré mon Mac après 2 semaines non-stop, et là sa marchai...je sais pas si c'était un soucis avec la mémoire qui étaient pleine...enfin bref' maintenant ça fonctionne à la perfection !

Merci beucoup pour ta réponse.

(et pour répondre à ta question, j'ai essayé depuis plusieurs naviguateur, Chrome & Safari, je le collai sur l'Editeur AppleScript, le texte je ne m'en souviens plus exactement, pi je tourne avec ITunes9.0.3 (15) pi Mac OS X 10.6.2 qui tourne sur un Imac 21.5 pouces avec 3.6 Ggz Intel Core II Duo / 4 Go 7 1067 MHz)

Voili voilà, merci encore pour ta réponse rapide ! ^^

Écrit par : Fafone 9 May 2010, 16:33

Ok mais plus compliqué maintenant:

En général pour chaque morceau j'ai 4 doublons dont 3 qui ne marche pas (une sombre histoire huh.gif )

comment faire disparaitre les doublons et ne garder que les morceaux qui marchent finalement?

Un grand merci à mon futur sauveur!

Écrit par : LooKman 19 May 2010, 22:41

Merci beaucoup, je viens d'appliquer ton script sur 12342 doublons… Je ne sais plus combien de Go ca fait mais un truc comme 60 Go.
Je dois avouer que l'exécution du script n'est pas terminé ( parce qu'il en faut du temps -Normal-) mais c'est en de bonne voie. Il faut dire que je sauvegarde ma bibliothèque par copier/coller des dossiers musiques ( sur un DD ) et iTunes depuis la première version d'itunes.

Écrit par : Cosmoboy 17 Jun 2010, 00:42

Bonjour,

Je relance désolé :s j'ai lancé le script du message 67 avec les morceaux selectionnés et triés par ordres alphabétiques mais rien n'y fait il n'en reconnait aucun

iTunes 9.2 , 10.6.4

Merci!

Écrit par : EricaL** 17 Jun 2010, 02:37

Bonjour,

Citation (Cosmoboy @ 16 Jun 2010, 19:42) *
Je relance désolé :s j'ai lancé le script du message 67 avec les morceaux selectionnés et triés par ordres alphabétiques mais rien n'y fait il n'en reconnait aucun

Le script du message 67 est très restrictif, la taille (nombre d'octets) doit être identique.
Ce qui veut dire que le même fichier à été importé deux fois, si le morceau ne provient pas de la même source, la taille du fichier ne sera jamais la même.

Essaie le script du http://forum.macbidouille.com/index.php?s=&showtopic=187406&view=findpost&p=2972988.
Ou le script du http://forum.macbidouille.com/index.php?s=&showtopic=187406&view=findpost&p=2923105.

Écrit par : de_Montmirail 20 Jun 2010, 21:10

Le script fonctionne à merveille, c'est super méga génial ! merci beaucoup

Écrit par : loase 27 Sep 2010, 10:11

Bonjour,
je crois avoir un peu le meme probleme que celui decrit au message 69.
Pour repondre a un probleme de place sur le dd du mac, j'avais mis toute ma liste de lecture sur un dd externe Time Capsule.
A la fin de garantie de l'ordinateur, j'ai changé son dd et ai transféré toute la liste sur le Mac.
Probleme : suite a un probleme de sauvegarde, je me retrouve avec beaucoup de message en double (quelques uns en triple) mais dont le double, s'il semble avoir la meme taille, ne renvoie a rien puisque iTunes le cherche sur l'ancien serveur. Impossible donc de lire le fichier en cliquant dessus.
J'ai hier soir lancé le script decrit dans ces pages et qui fonctionne formidablement.
Le soucis, c'est qu'il elimine "l'un" des deux fichiers. Et souvent le valide...
J'ai donc reinstallé le fichier musique natif avec ses nombreux doubles cette nuit.
D'ou ma question : y a-t-il moyen de supprimer le bon fichier de la liste de lecture, soit celui qui est censé ne pas etre sur le dd du Mac mais sur l'ancien serveur et qui reste parfois sur la liste de lecture ?

Merci beaucoup de votre aide

l.

Écrit par : EricaL** 27 Sep 2010, 14:46

Bonjour,

Citation (loase @ 27 Sep 2010, 05:11) *
D'ou ma question : y a-t-il moyen de supprimer le bon fichier de la liste de lecture, soit celui qui est censé ne pas etre sur le dd du Mac mais sur l'ancien serveur et qui reste parfois sur la liste de lecture ?

Avant de supprimer les doublons, il faut utiliser http://dougscripts.com/itunes/scripts/ss.php?sp=removedeadsuper pour enlever les morceaux qui n'existent plus.

Écrit par : loase 29 Sep 2010, 18:30

C'est beau, c'est grand, c'est fort. Un tres grand merci.
Il semble rester encore quelques doubles par ci par la... Je referai l'operation un peu plus tard.
Et j'avoue encore hesiter a vider la poubelle, des fois que...

Tiens une question encore : dans le langage iTunes, quelle est la difference entre un doublon et un double exact, puisque les deux propositions sont faites ?

l.

Écrit par : EricaL** 29 Sep 2010, 20:49

Citation (loase @ 29 Sep 2010, 13:30) *
Tiens une question encore : dans le langage iTunes, quelle est la difference entre un doublon et un double exact, puisque les deux propositions sont faites ?


Afficher les éléments en double : il recherchera toutes les instances d’un même morceau du même artiste de n’importe quel album de votre collection.
Par exemple, un morceau peut être présent sur l’album de l’artiste mais aussi dans la bande originale d’un film.

Afficher les doubles exacts : il recherchera les différentes copies d’un même morceau, les tags nom, artiste et album sont pareils
Par exemple, vous avez importé le morceau deux fois par accident.

Écrit par : woulf 12 Nov 2010, 23:34

Juste un petit message pour dire: merci !
Ca fonctionne à merveille !

Écrit par : mr-bob 15 Nov 2010, 13:09

Salut,

J'ai la dernière version iTunes, et je ne trouve pas les "double-exacts", ou on trouve cette option ?

Écrit par : radioman 15 Nov 2010, 16:24

Citation (mr-bob @ 15 Nov 2010, 13:09) *
Salut,

J'ai la dernière version iTunes, et je ne trouve pas les "double-exacts", ou on trouve cette option ?

Touche "ALT" ... wink.gif

Écrit par : youpijoli 24 Nov 2010, 00:43

Citation (radioman @ 15 Nov 2010, 16:24) *
Citation (mr-bob @ 15 Nov 2010, 13:09) *
Salut,

J'ai la dernière version iTunes, et je ne trouve pas les "double-exacts", ou on trouve cette option ?

Touche "ALT" ... wink.gif

Oh! C'est génial comme truc les doubles exacts! Je connaissais pas.
Ça va me simplifier la vie, parce que les reprises des standards de Jazz, y'en un sacré paquet

Écrit par : Jack the best 24 Nov 2010, 12:00

Dans la vieille version de iTunes, ça fonctionne également, mais je ne vois pas comment les doublons trouvés pourraient être exacts ! La durée n'est pas la même !

Écrit par : youpijoli 24 Nov 2010, 12:19

Maintient alt et clique sur afficher les doublons.

Écrit par : lekiv 22 Jan 2011, 00:14

Je remonte le sujet : d'abord merci pour ce script qui me rend un grand service.

J'aimerais ajouter la possibilité de supprimer le fichier dont le nom de fichier est le plus long : mes doublons sont presque toujours dans le même dossier :

01 - Ah le petit vin blanc.mp3
01 - Ah le petit vin blanc 2.mp3

Le script supprime l'un ou l'autre aléatoirement, j'aimerais virer celui finissant par " 2.mp3" (qui n'est pas forcément le plus récent, suite aux copies de disques etc...)
Quel est le nom de la variable "nom de fichier", et comment tester sa longueur ?

Merci d'avance!

Écrit par : EricaL** 23 Jan 2011, 19:21

Citation (lekiv @ 21 Jan 2011, 18:14) *
Je remonte le sujet : d'abord merci pour ce script qui me rend un grand service.

J'aimerais ajouter la possibilité de supprimer le fichier dont le nom de fichier est le plus long : mes doublons sont presque toujours dans le même dossier :

01 - Ah le petit vin blanc.mp3
01 - Ah le petit vin blanc 2.mp3

Voici le script qui supprime le doublon dont le nom du fichier est le plus long :
Code
script o
    property Les_tracks : missing value
end script

display dialog "Attention !" & return & return & "Ce script va supprimer tous les doublons dont le nom du fichier sera le plus long " & return & "à partir des pistes sélectionnées" with title "Supprimer des  doublons" buttons {"Quitter le script", "Continuer"} cancel button "Quitter le script"

set i to 1
tell application "iTunes"
    set o's Les_tracks to selection
    if o's Les_tracks is {} then error "Vous devez sélectionner des pistes avant d'exécuter ce script."
    
    set total to (count o's Les_tracks)
    repeat while i < total
        tell item i of o's Les_tracks to set {titre, Lartiste, Lalbum, T_ID, t_path} to {name, artist, album, database ID, location}
        repeat with k from (i + 1) to total --ceci va enlever tous les doublons à la suite ayant le même titre,  même album, no de piste
            tell item k of o's Les_tracks to set {titre2, Lartiste2, Lalbum2, T_ID2, t_path2} to {name, artist, album, database ID, location}
            if titre2 is titre and Lartiste is Lartiste2 and Lalbum is Lalbum2 then
                if T_ID is not T_ID2 then
                    if my verifieLongeurNOms(t_path as string, t_path2 as string) then -- vérifie la longeur du nom des deux fichiers
                        set {T_ID, t_path} to {T_ID2, t_path2}
                    end if
                    tell (get first track of library playlist 1 whose database ID is T_ID2)
                        delete --supprime de la bibliothèque
                        my delete_file(t_path2) --mets le fichier dans la corbeille
                    end tell
                end if
            else
                exit repeat
            end if
        end repeat
        set i to k -- mets la variable (i) à l'index de l'élément dont le titre est différent
    end repeat
end tell
activate (display dialog "Doublons dans Itunes, terminé")

on delete_file(t_file)
    try
        tell application "Finder" to delete t_file
    end try
end delete_file

on verifieLongeurNOms(n1, n2)
    set tid to text item delimiters
    set text item delimiters to ":"
    set x1 to length of last text item of n1
    set x2 to length of last text item of n2
    set text item delimiters to tid
    return x1 > x2
end verifieLongeurNOms

Écrit par : qrull33 28 Feb 2011, 18:27

bonjour,

merci pour ces merveilleux scripts que vous nous avez fourni!!!

mon problème a moi c est que lorsque je fais apparaitre mes doublons,je n arrive pas a effacer ceux ci avec le script.il son parfaitement identiques sauf pour les tailles.
il me faudrait un script qui fasse la différence entre les majuscules et le minuscules ,pour commencer.
puis un autres qui sélectionne la durée,par exemple garder la plus longue taille.

merci d avance a vous pour vos efforts

Écrit par : T3zoual 5 Aug 2011, 11:58

Bonjour à tous, je relance ce sujet, car à la suite de copies (réinstallation), j'ai en double de très nombreuses pistes.

Avec l'option 'doubles exacts', j'obtiens une liste de morceaux en doubles. Est-ce qu'il suffit de supprimer toutes les lignes de cette liste ?

A+
T3Z

Écrit par : EricaL** 5 Aug 2011, 15:24

Bonjour,

Si tu le fais manuellement, tu dois garder un morceau de chaque titre différent.

Si tu le fais par le script, tu sélectionnes tout, le script le fera automatiquement

Écrit par : T3zoual 5 Aug 2011, 16:28

Tu es sûr ? ... en comparant la liste des doublons, et la liste complète, iTunes semble n'affiche que les fichiers en double (par exemple s'il y a trois "morceaux" identiques, il n'en affiche que deux ...

D'où ma question : est-il possible de tout effacer. (la manipulation manuelle étant évidemment celle que je veux éviter, sur 20 000 titres, c'est un travail répétitif, long et fastidieux ...).

Écrit par : EricaL** 5 Aug 2011, 19:25

Citation (T3zoual @ 5 Aug 2011, 11:28) *
Tu es sûr ? ... en comparant la liste des doublons, et la liste complète, iTunes semble n'affiche que les fichiers en double (par exemple s'il y a trois "morceaux" identiques, il n'en affiche que deux ...

Je suis sûr pour toutes les versions que j'ai eu, mais c'est peut-être changé sur Lion.

J'ai fait ce test:
Je sélectionne le menu "doubles exacts".

Rien ne s'affiche, je n'ai aucun doublon.
Je crée un doublon avec le menu "Créer une version AIFF".

Je sélectionne le menu "doubles exacts".
Les deux morceaux sont affichés.


Pour être vraiment sûr, essaie le même test avec un morceau qui n'a pas de doublon, pour voir si les deux morceaux s'afficheront.

Écrit par : Jutamarin 25 Aug 2011, 19:06

Salutations

Merci pour vos précieuses infos.

Petite demande/suggestion pour ce super script :
Si c'est possible faire en sorte qu'il puisse préserver le doublon dont la qualité est la meilleure, c'est à dire concrètement qu'il garde celui en 192 Kbit/s et dégage le 64 Kbit/s.

Écrit par : EricaL** 26 Aug 2011, 03:16

Bonjour,

Citation (Jutamarin @ 25 Aug 2011, 14:06) *
Petite demande/suggestion pour ce super script :
Si c'est possible faire en sorte qu'il puisse préserver le doublon dont la qualité est la meilleure,

Voici le script qui supprime les doublons, mais garde le morceau ayant le plus grand débit (kbit/s)
Code
script o
    property Les_tracks : missing value
end script
display dialog "Attention !" & return & return & "Ce script va supprimer tous les doublons" & return & "ayant le même (titre, album et numéro de piste)" & return & "à partir des pistes sélectionnées, la piste ayant le plus haut débit sera conservé" with title "Supprimer des  doublons" buttons {"Quitter le script", "Continuer"} cancel button "Quitter le script"

set {reussi, non_reussi, i} to {0, 0, 1}
tell application "iTunes"
    set o's Les_tracks to selection
    set total to (count o's Les_tracks)
    if total < 2 then error "Vous devez sélectionner deux pistes  ou plus avant d'exécuter ce script."
    
    repeat while i < total
        tell (get item i of o's Les_tracks) to set {titre, Lartiste, Lalbum, T_ID, Le_debit} to {name, artist, album, database ID, bit rate}
        
        repeat with k from (i + 1) to total --ceci va enlever tous les doublons à la suite ayant le même titre,  même album, no de piste
            tell (get item k of o's Les_tracks) to if name = titre and artist = Lartiste and album = Lalbum then
                set {T_ID2, Le_debit2} to {database ID, bit rate}
            else
                exit repeat
            end if
            if T_ID is not T_ID2 then
                if Le_debit2 > Le_debit then -- vérifie le débit, garde le plus grand débit
                    set the_ID to T_ID
                    set {T_ID, Le_debit} to {T_ID2, Le_debit2}
                    set T_ID2 to the_ID
                end if
                tell (get first track of library playlist 1 whose database ID is T_ID2)
                    if my delete_file(get location) then
                        delete --supprime de la bibliothèque
                        set reussi to reussi + 1
                    else
                        set non_reussi to non_reussi + 1
                    end if
                end tell
            else --même database id : supprime de la liste de lecture seulement , pas dans la  bibliotheque, ni sur le disque
                delete item k of o's Les_tracks
            end if
        end repeat
        set i to k -- mets la variable (i) à l'index de l'élément dont le titre est différent
    end repeat
end tell
set o's Les_tracks to {}
activate
display dialog "" & reussi & " doublons supprimés." & return & non_reussi & " doublons non supprimés"

on delete_file(t_file)
    try
        tell application "Finder" to delete t_file
        return true
    end try
    return false
end delete_file

Écrit par : EricaL** 26 Aug 2011, 03:20

erreur

Écrit par : EricaL** 26 Aug 2011, 03:25

erreur

Écrit par : ThomasD-74 4 Dec 2011, 19:05

Salut a tous !

J'ai un nouveau petit truc a vous demandez... je voudrait effacer mes doublons mais sur mon I-POD et j'ai bien essayer le scripts mais rien y fait... Merci d'avance ; ) wink.gif wink.gif wink.gif wink.gif

Écrit par : ccciolll 5 Dec 2011, 10:13

AU passage, j'indique tout de mêm que dans iTunes 9 (le 9.2.1 chez moi, exactement) le classement par doublon se cache dans le menu "fichiers"

Par contre il est plutôt mal fait, il cherche les doublons via le titre du morceau. Ce qui est d'une part inexact car on peut avoir plusieurs versions du même titre, et ce qui est également incomplet car on peut aussi avoir le même fichier avec un titre différent (ce qui n'est pas rare avec les titres importés de CDDB, notamment dans le classique ou les compiles).

Une sélection intelligente devrait pouvoir se faire sur le poids du fichier à l'octet près, en ignorant les autres indices.
Ou encore sur la durée à la micro-seconde près, pour le cas où l'on aurait un titre encodé un coup en 8 kbps et l'autre coup en 128 kbps, qui seraient donc identiques à la source mais sans faire le même poids.

Écrit par : yannick.cattin 13 Feb 2012, 22:37

Bonjour,

Le script ci-dessus marche nickel. Encore un grand merci à l'auteur.

Je me demandais si il serait également possible de supprimer les titres qui comportent des points d'interrogations à l'aide d'un script.

Si quelqu'un peut me renseigner se serait super sympa.

Salutations.

Écrit par : Jack the best 14 Feb 2012, 00:21

Il y a certains titres qui en contiennent vraiment !

Tu peux toujours faire une recherche dans iTunes et mettant un point d'interrogation et en sélectionnant non pas tous, mais Morceau !

Je viens de chercher et j'en ai plein de titres avec des ? légitimes, puisque le titre est une question !

Si tu n'en veux pas, tu les sélectionnes ensuite et tu les vires…

Écrit par : ccciolll 14 Feb 2012, 08:23

Ah tiens, ça m'a fait découvrir qu'il y avait un menu déroulant sous la loupe de recherche…

Écrit par : Jack the best 14 Feb 2012, 11:20

On en apprend tous les jours !

Écrit par : Rinocerrone 14 Feb 2012, 11:37

Citation (Jack the best @ 14 Feb 2012, 11:20) *
On en apprend tous les jours !


Bien dit papi thumb.gif

Écrit par : yannick.cattin 14 Feb 2012, 21:34

Bonsoir,

Je voulais dire y a-t-il possibilité d'effacer avec un script les titres qui sont indexés par iTunes avec un point d'exclamation (qui signifie que les morceaux sont introuvables) ?


Écrit par : Manu75010 14 Feb 2012, 23:03

Si l'on accepte de perdre les listes de lecture, le plus simple est de vider toute la biliothèque puis de tout réimporter. C'est radical !



Écrit par : MlleCat 6 Mar 2012, 10:33

Bonjour à tous, j'ai la toute dernière version de itune 10.5.3.3 et je ne trouve même pas où on lance le script, merci de votre aide...

Écrit par : yangon 3 Feb 2013, 12:31

Citation (JackJr300 @ 26 Jun 2007, 00:08) *
Bonsoir,

Il faut le copier et coller dans l'application "Éditeur de script", il est dans le dossier "AppleScript" du dossier "Applications"



Bonjour,
en tant que néophyte j'ai eu du mal à trouver cet Editeur de Script. en fait sous Mountain Lion il se trouve dans le dossier "Utilitaires" de "Applications".

Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)