J'ai une bibliothèque iTunes assez grande (~300 Go) qui est principalement composée de musique classique. J'aime beaucoup le format Œuvre et Mouvement, mais malheureusement il n'est pas pratique de mettre à jour manuellement mes métadonnées dans ce format. Presque tous les balises de chansons existantes sont dans le format suivant :
Telemann - Concerto en mi mineur : I. Andante
II. Allegro
III. Largo
IV. Allegro
etc.
Un script qui pourrait automatiser la mise à jour du système de balisage ressemblerait à ce qui suit.
- Sur toutes les chansons sélectionnées, copier la balise Chanson dans la balise Mouvement
- Supprimer le chiffre romain, le point et l'espace au début de la balise Mouvement. Ou, si le format inclut le nom complet de l'œuvre dans la balise Chanson, le supprimer.
Toute aide ou indication pour mettre réellement en œuvre ce script serait très appréciée. J'ai examiné et utilisé les scripts de travail et de mouvement de Doug, mais ils ne couvrent pas le processus d'appariement nécessaire pour supprimer les chiffres romains du début.
MODIFIER
Il est devenu évident que de nombreuses balises ne sont pas dans le format ci-dessus, mais dans un format comme ci-dessous :
Sérénade pour cordes en do majeur, Op. 48 - I. Allegro
Sérénade pour cordes en do majeur, Op. 48 - II. Adagio
Sérénade pour cordes en do majeur, Op. 48 - III. Allegro moderato
etc.
OU dans le même format que ci-dessus sauf en utilisant des chiffres arabes à la place des chiffres romains.
Le script devrait donner aux balises "Mouvement" les sorties suivantes :
Allegro
Adagio
Allegro moderato
L'idée est que je récupère la première partie de ceci ("Sérénade pour cordes en do majeur, Op. 48") et la copie dans la balise "œuvre", ce que j'ai déjà mis en œuvre, puis je récupère le texte restant, supprime les numéros de mouvement, et l'assigne à la balise Mouvement. Toute aide pour mettre en œuvre un système qui ferait cela serait appréciée.
Voici le script sous sa forme actuelle. Il est basé sur le script de Nom à Œuvre de Doug.
tell application "iTunes"
set sel to selection of front browser window
if sel is {} then
try
display dialog "Rien n'est sélectionné…" buttons {"Quitter"} with icon 0
end try
return
end if
set c to (count of sel)
set songName to (get name of item 1 of sel)
set userOptions to display dialog "Modifier pour un nom d'œuvre et ensuite cliquer sur OK." default answer songName --demander un nom d'œuvre
repeat with i from 1 to c --définir les numéros de mouvement
set thisTrack to item i of sel
try
set work of thisTrack to text returned of userOptions
set movement number of thisTrack to i
set movement count of thisTrack to c
set movement of thisTrack to my delRomNum(name of thisTrack) -- copier le texte du mouvement du nom de la chanson et supprimer les chiffres romains
end try
end repeat
end tell
on delRomNum(t) -- la commande perl recherche et supprime tout chiffre romain (doit être un mot suivi du point et d'un espace)
do shell script "/usr/bin/perl -pe 's/\\b[IVXLCDM]+\\b. //g' <<< " & quoted form of t
end delRomNum