2016-04-26 2 views
1

Il doit y avoir une meilleure façon de créer un nouvel élément dans une collection (si c'est ce qui se passe réellement derrière l'abstraction).Existe-t-il un meilleur moyen d'ajouter une nouvelle liste de lecture à iTunes via Javascript for Automation (JXA)?

Je cherche l'équivalent JXA de cette AppleScript

if (count of (playlists whose name is plName)) is 0 then 
    make new playlist with properties { name: plName } 
end if 

J'ai essayé un certain nombre de choses, mais ne peut pas obtenir un équivalent. Le plus proche que je peux obtenir est de dupliquer une liste de lecture existante, puis le renommer ...

if (iTunes.userPlaylists.whose({ name: {_equals: plName } }).length == 0) { 
    mnp = iTunes.userPlaylists[0].duplicate() 
    mnp.name.set(plName) 
} 

Tout conseils sur la façon la plus propre pour tester l'existence d'une liste de lecture ou pour sélectionner une liste de lecture à reproduire sont les bienvenus. Comme la plupart des gens, en raison du manque effroyable de documentation pour JXA, je pense que la plupart des interactions de l'application se font par l'expérimentation.

Ma question principale est de savoir s'il existe un moyen de créer une playlist vide sans avoir à en dupliquer un. Ce n'est pas important, je suppose que si j'ai un travail à faire, mais ça ressemble à un kludge.

Répondre

1

Qu'en est-il de la façon la plus simple:

Amusez-vous, Michael/Hamburg

+0

Ugh! Je vous remercie. J'ai essayé tellement de variations, mais évidemment pas celle-ci - bien que je pensais que j'avais. Je suppose que j'ai peut-être accidentellement utilisé le pluriel ('mnp = iTunes.UserPlaylists(). Make()') si proche! – Xcapee