iTunes のアートワークを設定する Ruby スクリプト

iTunes/iPod には曲のジャケット写真を表示する機能がある。
アートワーク(カバーアート?アルバムアート?)を表示する機能なんだけど
これを手動で設定するのがすごく面倒なので
自動で設定する Ruby スクリプトWindows Only)書いた。


iTunes のライブラリを全曲スキャンして曲ファイルの
横にある folder.jpg という名前のファイルをアートワークとして設定する。
folder.jpg を探してるのはエクスプローラで縮小表示にすると
ジャケットっぽく表示されるので自分がそうしてるから。

# This script works Windows only

require "win32ole"

itunes  = WIN32OLE.new("iTunes.Application")
tracks = itunes.LibraryPlaylist.Tracks

total = 0
tracks.each { |track|
  path = track.Location
  path[path.rindex("\\")+1 .. -1] = "folder.jpg"
  if (File.exist? path) && (track.artwork.count == 0) then
    puts track.Location 
    total = total + 1
    track.AddArtworkFromFile(path) rescue puts "[Failed]"
  end
}
puts "#{total} tracks processed"


iTunes COM を使っているので iTunes 必須。
iTunes が起動してないときに実行すると iTunes が起動する。


画像を取ってくるのは https://amazon-jacket-finder.herokuapp.com/ を使うと比較的楽かも。
昔ものすごい適当に書いた Ruby スクリプト


Amazon からてきとうにアートワークをひっぱってくる スクリプト
あわせて使えば、全自動でジャケット取ってきて
ファイルに突っ込むスクリプトが簡単にできそう。
そういうツールはすでにいくつかあるのでやらないけど。
# ていうかそもそも iTunes 本体にアートワーク自動取得機能が付いたような。


iPod touch でアートワークをグリグリしたいなぁと思って書いたスクリプトでした。
iPod touch 欲しい!(一人キャンペーン中)

2008/02/26 追記

iTunes のアートワークを設定する Ruby スクリプト(without iTunes) - mallowlabsの備忘録
iTunes を使わないバージョンを上げました。