[AppleScript] Ajouter des morceaux dans une playlist iTunes

Erravid

Membre confirmé
12 Février 2008
73
1
Paris, France
Bonjour !

Je poste un message car je suis actuellement sur mon premier AppleScript et je joue un peu avec en apprenant à m'en servir.
Bien sûr, à force d'en rajouter, ça ne marche plus, donc j'aurais voulu avoir des avis sur mon script (par exemple des corrections, simplifications, etc.)

Ce script me serait utile dans le but de copier toute nouvelle musique (venant d'un CD, du net…) vers mon disque externe, puis de l'ajouter dans iTunes dans une playlist renseignant son origine (histoire d'avoir une playlist avec tous mes CDs à moi, et une autre playlist avec des albums venant du net.)

Mon script donc surveille un dossier
puis lorsqu'on glisse dessus un dossier contenant de la musique
1- il va me demander où je veux le copier (dossier "Albums" ou "Singles") selon ce que j'ai encodé comme CD
2- il va le copier sur mon disque externe qui contient toute ma musique (selon ce que je choisis précédemment)
3- ensuite il efface le dossier source de mon disque dur interne
4- puis je choisis entre : CD, musique gratuite venant du net qualité CD, musique gratuite venant du net qualité mp3
5- il change le label du nouveau dossier selon le type de l'album que j'ai choisis à l'étape précédente
6- enfin il ajoute sur iTunes le nouveau dossier, en les ajoutant aussi à la playlist qui correspond au label que je lui ai donné précédemment (un des trois cités au dessus)

Mon code ne me pose a priori plus problème qu'à un seul endroit : pour ajouter les morceaux à iTunes.

J'ai bien créé les playlists sous iTunes, et je les ai même effacées puis recréées pour être sûr.
J'ai aussi essayé sans ajouter de playlist en destination, et iTunes ne me les ajoute pas non plus à ma bibliothèque principale, ce qui me laisse penser que j'ai simplement fait une erreur de syntaxe ou dans mon raisonnement.

Voici mon code :
(Mon disque externe s'appelle Saturnus.)

Bloc de code:
on adding folder items to this_folder after receiving added_items
	repeat with i from 1 to number of items in added_items
		set added_item to item i of added_items
		tell application "Finder"
			set la_destination to display dialog "Destination for \"" & added_item & "\" ?" buttons {"Albums", "Singles"} default button 1
			if button returned of la_destination is "Albums" then
				set ma_destination to "Saturnus:Musique:Media"
			else
				if button returned of la_destination is "Singles" then
					set ma_destination to "Saturnus:Musique:Media:Singles"
				end if
			end if
			try
				set moved_item to duplicate added_item to folder ma_destination
			on error
				display dialog ("Copying files to " & ma_destination & " has failed")
			end try
			try
				move added_item to trash
			on error
				display dialog ("Moving files to trash has failed")
			end try
			try
				set le_type to display dialog "Label for \"" & moved_item & "\" ?" buttons {"CDs", "Lossless", "Lossy"} default button 1
			on error
				display dialog ("Choosing label has failed")
			end try
			try
				if button returned of le_type is "CDs" then
					set label index of moved_item to 5
				else if button returned of le_type is "Lossless" then
					set label index of moved_item to 6
				else
					if button returned of le_type is "Lossy" then
						set label index of moved_item to 7
					end if
				end if
			on error
				display dialog ("Setting label has failed")
			end try
		end tell
		tell application "iTunes"
			activate
			delay 0.5
			try
				add moved_item to playlist le_type
			on error
				display dialog ("Adding " & moved_item & " files to iTunes has failed")
			end try
		end tell
	end repeat
end adding folder items to

Par ailleurs, j'ai les actions de dossier qui se désactivent souvent quand je les modifie, est-ce qu'une droplet est plus sûre à utiliser qu'un dossier ?

Merci d'avance à ceux qui me liront !