以前に次の形式のテキスト ファイルにバックアップした iTunes プレイリストがあります。
「タイトル」「アーティスト」「曲番」「アルバム」
次の 4 つのトラックを使用してサンプル ファイルを作成しました。
「Ritual」、「Chick Corea Elektric Band II」、「9」、「Paint The World」
、「Risk」、「Deftones」、「9」、「Diamond Eyes」
、「Risveglio」、「Goblin」、「10」、」ゾンビ」
「リチュアル」「アッシュズ・ディバイド」「8」「自分に言い聞かせ続けて大丈夫」
このプレイリストのすべてのトラックは、現在 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 にネイティブに存在しますか?
これはプロパティ リスト ファイルで行う必要があると思いますか? オンラインでさらに読んで、私が望んでいたことを行うための配列を作成しようとすると(トラックのタイトル、アーティスト、アルバムなどをキャプチャする)、プロパティリストを使用する方が良いというこのようなさまざまなスレッドに出くわしました? ここで行われたことと同様のことを達成しようとしていますが、出力を 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>
これを機能させる方法について誰かアイデアがありますか?