Pour faciliter le retagging...
Si vous êtes comme moi amateur de beaucoup de musiques et maniaque à tendance obsessionnelle quant à l'exactitude des tags de vos fichiers audio et même des noms des fichiers eux-mêmes, vous vous retrouvez sûrement à retaper à la main pour les fichiers ce qui a déjà été tapé pour les tags. C'est redondant donc à éviter.
iTunes est pourvu d'un bon dictionnaire AppleScript, et j'ai dans mes tiroirs quelques scripts qui me facilitent la vie, donc qui peuvent la faciliter à d'autres.
Cela dit, petite mise en garde: c'est du brut de copier-coller de script à usage personnel; c'est donc sans garde-fou, sans vérification de bon déroulement, ça part du principe que je sais ce que je fais en les lançant. Je ferai éventuellement un soir de morne ennui une révision pour les rendre plus "solides" et génériques, mais dans l'immédiat "mange les restes"! A placer dans ~/Library/iTunes/Scripts/
.
Pour remplir en incrémentant le champ "track number" des pistes sélectionnées:
tell application "iTunes"
if selection is not {} then
set track_list to selection
set i to 0
repeat with a_track in track_list
set i to (i + 1)
set a_track's track number to i
end repeat
end if
end tell
Pour renommer une liste de lecture pour qu'elle reflète son contenu (tiens, avec des commentaires propres et en anglais, ce qui me laisse supposer que j'avais l'intention de publier ça un jour):
(*
* getArtistNames(aPlaylist: iTunes playlist)
* retrieves the list of artist names for the tracks in the passed playlist
* returns: list of strings
*)
on getArtistNames(aPlaylist)
tell application "iTunes" to set theTempArtistNames to (artist of tracks of aPlaylist)
set theArtistNames to {}
repeat with aName in theTempArtistNames
if theArtistNames does not contain aName then copy (contents of aName) to the end of theArtistNames
end repeat
return theArtistNames
end getArtistNames
(*
* getAlbumName(aPlaylist: iTunes playlist)
* retrieves the album name for the first track in the passed playlist
* returns: string
*)
on getAlbumName(aPlaylist)
tell application "iTunes" to set theAlbumName to album of first item of tracks of aPlaylist
return theAlbumName
end getAlbumName
(*
* createPlaylistName(aPlaylist: iTunes playlist)
* creates a playlist name for the passed playlist
* returns: string
*)
on createPlaylistName(aPlaylist)
set theArtistNames to getArtistNames(aPlaylist)
if (count theArtistNames) = 1 then
set theAlbumName to getAlbumName(aPlaylist)
set thePlaylistName to (first item of theArtistNames) & " - " & theAlbumName
else
set thePlaylistName to first item of theArtistNames
repeat with anArtistName in rest of theArtistNames
set thePlaylistName to (thePlaylistName & ", " & anArtistName)
end repeat
end if
return thePlaylistName
end createPlaylistName
(*
* Main
*)
on run
tell application "iTunes"
set thePlaylist to view of front window
end tell
set thePlaylistName to createPlaylistName(thePlaylist)
tell application "iTunes"
set name of thePlaylist to thePlaylistName
end tell
end run
Et le plus pratique, pour renommer les fichiers en fonction de leurs tags (attention, j'y fais l'hypothèse forte que le fichier est soit au format AAC soit au format MP3):
tell application "iTunes"
if selection is not {} then
set cur_list to selection
repeat with cur_track in cur_list
tell cur_track
set cur_track_name to name
if kind of cur_track is "AAC audio file" then
set cur_track_suffix to ".m4a"
else
set cur_track_suffix to ".mp3"
end if
if (track number) < 10 then
set cur_track_num to ("0" & ((track number) as string))
else
set cur_track_num to ((track number) as string)
end if
set cur_track_location to location
tell application "Finder"
set cur_track_file to (get cur_track_location)
set cur_track_file's name to cur_track_num & " " & cur_track_name & cur_track_suffix
end tell
end tell
end repeat
end if
end tell
Voilà, ça peut servir...