У меня есть плейлисты я предварительно произведя резервное копирование в текстовый файл, который находится в следующем формате:AppleScript для добавления нескольких дорожек из ITunes в список воспроизведения с помощью текстового файла в качестве источника
«название», "художника », "номер дорожки", "альбом"
Я создал образец файла, используя четыре из этих треков:
"Ритуал", "Chick Corea Elektric Группа II", "9", "Paint The World"
«Риск», «Дефтоны», «9», «Алмазные глаза»
«Risveglio», «Goblin», «10», «Zombi»
«Ritual», «Ashes Divide», «8», «Keep Telling Myself It's Alright»
Все треки из этого плей-листа в настоящее время находятся в iTunes. Я хочу добавить каждый из этих треков в список воспроизведения, используя AppleScript. Я был в состоянии сделать это с помощью одного элемента (например: название) со следующим AppleScript:
-- set variables
set srcFile to "/Users/kjesso/Documents/=Scripting=/AppleScript/ipod_gym_playlist_track_names_sample.txt"
set allRecords to paragraphs of (read srcFile as «class utf8»)
set myPlaylist to "Test"
property okflag : false
-- check if iTunes is running
tell application "Finder"
if (get name of every process) contains "iTunes" then ¬
set okflag to true
end tell
if okflag then
-- if iTunes is running then do this
tell application "iTunes"
repeat with aRecord in allRecords
set results to (every file track of playlist "Library" whose name is aRecord)
repeat with aTrack in results
duplicate aTrack to playlist myPlaylist
end repeat
end repeat
end tell
else
-- if iTunes is not running do this
return "Unable to execute because iTunes is not running"
end if
Однако, если дубликат заглавного трека найден из другого художника это будет просто сделать первый трек, так как сценарий не может различать разных художников с только «заголовком» в качестве контента. Действительно ли массив существует в AppleScript?
Предполагаю, что это нужно сделать с помощью файла списка свойств? При дальнейшем чтении в Интернете, пытаясь создать массив, чтобы сделать то, что я хотел (захватить название трека, исполнителя, альбом и т. Д.), Я наткнулся на различные темы like this, заявив, что лучше использовать список свойств? Я пытаюсь добиться того же, что было сделано here, но вместо отправки вывода в файл CSV я хочу отправить его в список воспроизведения в iTunes.
Я создал следующий пример свойств списка файлов, если мне нужно использовать список свойств для достижения своей цели:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>title</key>
<string>"Ritual"</string>
<key>artist</key>
<string>"Chick Corea Elektric Band II"</string>
<key>album</key>
<string>"Paint The World"</string>
</dict>
<dict>
<key>title</key>
<string>"Risk"</string>
<key>artist</key>
<string>"Deftones"</string>
<key>album</key>
<string>"Diamond Eyes"</string>
</dict>
<dict>
<key>title</key>
<string>"Risveglio"</string>
<key>artist</key>
<string>"Goblin"</string>
<key>album</key>
<string>"Zombi"</string>
</dict>
<dict>
<key>title</key>
<string>"Ritual"</string>
<key>artist</key>
<string>"Ashes Divide"</string>
<key>album</key>
<string>"Keep Telling Myself It's Alright"</string>
</dict>
</plist>
Кто-нибудь есть какие-либо идеи о том, как получить эту работу?
Спасибо за ответ, однако, если я правильно понял ваш ответ правильно, проблема с этим я должен был бы поместить все содержимое всех треков в AppleScript, где в настоящее время все треки находятся в текстовом файле или csv-файле. Это решение было бы прекрасно, если бы это было всего лишь несколько треков, как в моем примере, но у меня на самом деле есть пара сотен, поэтому моя причина пытаться сделать это с помощью скрипта. Что касается файла plist, я создал его с помощью текстового редактора с регулярными выражениями, поэтому его было не так сложно собрать, но я мог бы также сделать это со сценарием. – KeithJ
Это решение будет работать отлично, если бы был способ захватить значения для «theTitle», «the Album» и «theArtist» из исходного текста или файла csv, что возвращает это к моей исходной проблеме. – KeithJ
Я просто добавляю прочитанный образец из текстового файла в свой первый ответ. – pbell