Je ne pense pas. Ils semblent utiliser des informations de la base de données/bibliothèque iTunes, comment pourraient-ils savoir quelque chose sur un dossier aléatoire dans votre ordinateur ?
Vous pourriez cependant le simuler en utilisant soit des Actions de Dossier ou launchd mais aucun n'est parfait.
Les Actions de Dossier ne fonctionnent que pour les nouveaux fichiers dans un répertoire et elles fournissent la liste des fichiers ajoutés au programme/script que vous exécuterez, vous savez donc ce qui a changé.
launchd, quant à lui, exécutera votre script/application à chaque changement dans le(s) dossier(s), vous pouvez surveiller plusieurs, mais il ne vous dira pas quel chemin a changé ni comment - ajouté ou supprimé, etc.
Je choisirais launchd personnellement. S'il s'agit simplement d'un seul dossier, vous pourriez le coder en dur dans votre script.
Quant au script, essayez ceci...
set dpath to "/some/path/test/"
set qdpath to quoted form of dpath
set listname to "MyList"
set adpath to (POSIX file dpath as alias)
# Get audio files in selected folder
# -- alas no recursive search results without a lot more code... :(
# -- or use mdfind or other command line tool using `do shell script...`
set afiles to {}
tell application "Finder"
repeat with ext in {".mp3", ".m4a"}
set l to (every file in adpath whose name contains ext)
repeat with f in l
set end of afiles to (f as alias)
end repeat
end repeat
end tell
tell application "iTunes"
if not (user playlist listname exists) then
make new user playlist with properties {name:listname}
end if
# Construire une liste des pistes existantes pour éviter les doublons...
set itracks to {}
try
set itracks to (get location of every track in playlist listname)
end try
set view of window 1 to playlist listname
# Ajouter seulement s'ils ne sont pas déjà dans la playlist
repeat with afile in afiles
if afile is not in itracks then
try
set tid to (add afile to playlist listname)
end try
end if
end repeat
# Supprimer les pistes de la playlist iTunes qui ne sont pas dans le dossier
# et de la base de données iTunes sinon elles apparaissent toujours comme des pistes invalides...
set iItems to (every track in playlist listname)
set iLib to library playlist named "Library"
repeat with iItem in iItems
set loc to location of iItem
if loc is not in afiles then
set pid to persistent ID of iItem
log "Suppression de : " & loc
try
# Merci Doug Adams, ça me rendait fou....
delete (some file track of library playlist 1 whose persistent ID is pid)
end try
delay 1
end if
end repeat
end tell
C'est en fait amusant de le regarder réagir à l'ajout et la suppression de fichiers du dossier. Profitez-en.... :)
Enfin, je vous recommanderai de vérifier ces URLs.
www.macissues.com/2015/02/02/how-to-use-launchagents-to-monitor-folder-contents-in-os-x/ apple.stackexchange.com/questions/6658/