Home

iTunes

Génération des listes intelligente par AppleScript



Suite à des déplacements de ma bibliothèque iTunes vers une Time Capsule, puis vers un NAS après la mort de ma Time Capsule, j'ai eu des titres ne pointant plus correctement sur les fichiers physiques correspondants. La seule solution est de recréer la bibliothèque en entier. C'est simple, mais il y a perte de toutes les listes intelligentes (PlayList). J'ai donc écrit un programme AppleScript pour générer ces listes intelligentes.




V7 pour iTunes 11.4 testé sous Maverick

Lissez l'article complet initial en premier avant.

Les modifications de la V7 ne mettent pas en cause les principes décrits dans l'article initial.
Il y a une restructuration pour être plus modulaire d'utilisation.


L'article complet initial Génération des listes intelligentes par AppleScript



SmartPlaylist V7 testé avec Maverick pas testé avec Yosemite.


C'est une version avec deux critères. Si vous n'avez qu'un critère adapté la routine "uneLigne" en supprimant les routines "newRow" et "ligne2".

Si vous avez trois critères, rajoutez un appel "newRow" et créez votre propre "ligne3". Exemple : my ligne2("Grouping", "does not contain", "Diapason d'Or")





V6 pour iTunes 10

Lissez l'article complet initial en premier avant.

Les modifications de la V6 ne mettent pas en cause les principes décrits dans l'article initial.

L'article complet initial Génération des listes intelligentes par AppleScript



19 septembre 2011 mise à jour V6 pour iTunes 10.x, inclus :

  1. Correction par Apple de l'inversion des numéros des boutons popup. Le premier est bien le numéro 1 maintenant.
  2. Si multi-critère le bouton 1 devient 3 pour la ligne 2. Il restait 1 avant. Cela a nécessité une réorganisation de mon code.
  3. Rajout de la frappe du nom de la playlist si plusieurs lignes de critère. C'était automatique fait par iTunes avant.
  4. Position automatique en début de librairie. J'ai trouvé la bonne commande AppleScript (tell application "System Events" to tell process "iTunes" to select row 2 of outline 1 of scroll area 2 of front window).

SmartPlaylist V6 testé en Snow Leopard 10.6.8 pas testé avec Lion.


C'est une version avec deux critères. Si vous n'avez qu'un critère adapté la routine "uneLigne" en supprimant les routines "newRow" et "ligne2".

Si vous avez trois critères, rajoutez un appel "newRow" et créez votre propre "ligne3". Exemple : my ligne2("Grouping", "does not contain", "Diapason d'Or")






Index du script initial 2009


Reste utile si vous êtes avec une vieille version d'iTunes


L'article complet initial Génération des listes intelligentes par AppleScript



L'évolution du programme SmartPlaylist.


Si vous êtes débutants en AppleScript lisez et utilisez SmartPlaylist V4 avant d'utiliser la version multi-liste, ou de faire toutes autres adaptations à votre goût.


Attention, je rappelle que les « System Events » de l'UI scripting envoient directement les commandes clic et frappe du texte au menu courant. Ceci implique qu'il ne faut pas pendant que le script s'exécute ouvrir un autre menu d'une autre application. Donc, sage précaution, ne faites rien d'autre avec votre Mac pendant l'exécution du script.



SmartPlaylist V4

À l'exécution du script, j’ai eu des “aClassique” au lieu de “Classique”. Ce problème rare sur mon iMac20 est devenu fréquent sur mon iMac27 i5.

N'ayant trouvé aucune raison valable à ce comportement, j'ai contourné le problème trivialement, en modifiant mon programme pour faire la frappe du texte caractère par caractère.

J’ai, aussi, profité de cette V4 pour regrouper en tout début de programme les paramètres d’adaptation du programme. Ce qui modifie le texte du paragraphe “Adaptation pour Jazz, Pop” de mon article original publié chez CUK.


L'article complet modifié est ici et le paragraphe modifié ici






Version multiple Playlist

Si vous avez plusieurs dossiers de listes de musique, par exemple Classique, Jazz, etc, la première solution est de dupliquer le programme SmartPlaylist.

La deuxième solution, pour simplifier la gestion, est de regrouper toutes les listes dans le même programme, pour cela j'ai créé un cas particulier «SmartPlaylist All». C'est strictement le même code. J'ai juste mis en sous-programme le code de création du dossier, et le code de création d'une liste intelligente.


Voyons comment ces sous-programmes seront appelés avec vos paramètres personnels, exemple :

my createDossier("Pop musique")


set boutonPopUp1 to "Genre"

set boutonPopUp2 to "contains"


my createPlayList(listGenrePop)


Vous créerez autant de blocs que vous avez de liste.



Autre avantage de la méthode, vous pouvez créer une liste de musique intelligente sans créer un dossier la contenant. Il suffit de ne pas faire appel à createDossier.


Il est aussi possible de créer des listes de musique intelligente avec des critères différents pour le Genre l'Artiste ou le Groupe, Exemple :


my createDossier("Récital")


set boutonPopUp1 to "Genre"

set boutonPopUp2 to "contains"

my createPlayList(listGenreRecital)


set boutonPopUp1 to "Grouping"

set boutonPopUp2 to "contains"

my createPlayList(listGroupingRecital)



Un dernier avantage, et non des moindres, si vous changez d'avis sur l' organisation de la structure de vos listes intelligentes, il est plus rapide de modifier vos paramètres dans mon programme que de modifier les listes intelligentes d'iTunes à la main.




Attention : En passant en sous-programme le code de création d'une liste intelligente. Vous ne pouvez plus utiliser les critères multiples booléens (option ET OU), car ils s'appliqueraient pour toutes les listes, ce qui est rarement le cas. Si vous avez des critères multiples booléens, n'utilisez pas «SmartPlaylist All» mais le programme original «SmartPlaylist», en le dupliquant pour chaque cas.


Sinon, pour les listes, qui sont toutes à critère simple, «SmartPlaylist All» est idéal pour simplifier votre gestion.


Télécharger SmartPlaylist All V5



Conclusion

«SmartPlaylist All» est un exemple d'adaptation du programme original, à vous de faire toute autre adaptation à votre goût.


Bonne adaptation et contrôle d'iTunes.






Merci
SignatureZapfino








Merci de votre visite


UP