iTunes のアートワークを設定する Ruby スクリプト(without iTunes)
iTunes のアートワークを設定する Ruby スクリプト - mallowlabsの備忘録 で
iTunes を使ってアートワークを設定する Ruby スクリプトを書いた。
(アートワーク?アルバムアート?アルバムジャケット?)
今回 id3lib-ruby がアートワーク (APIC フレーム) を設定できることを知ったので
iTunes を使わずにアートワークを設定するスクリプトを書いてみた。
[set-album-art.rb]
#!ruby # # set album-art without iTunes # this script requires "id3lib-ruby" # ( #gem install id3lib-ruby ) # # license: Public Domain # update: 2008/02/27 # author: mallowlabs # blog: http://d.hatena.ne.jp/mallowlabs/ require 'rubygems' require 'id3lib' ARGV.each do |path| full_path = File.expand_path(path) jpeg_path = File.dirname(full_path) + File::SEPARATOR + "folder.jpg" next unless FileTest.exist?(jpeg_path) # アートワークが無ければスキップ tag = ID3Lib::Tag.new(full_path) next unless tag.title # title が取れないなら V2.4 だと思ってスキップ next if tag.frame(:APIC) # すでに アートワークがあればスキップ tag << { :id => :APIC, :mimetype => 'image/jpeg', :picturetype => 3, :description => '', :textenc => 0, :data => File.open(jpeg_path, "rb").read } tag.update! puts path end
使い方
$ ruby set-album-art.rb *.mp3
とすると mp3 と同じディレクトリにある "folder.jpg" というファイルを
アートワークに設定する。
こちらも ID3 V2.4 は未対応。
"folder.jpg" を "folder.png" に
"image/jpeg" を "image/png" にすれば PNG でもいける。