【コラム】
OS X ハッキング!
197 iTunes 7のアートワーク関連機能をクイックハック
2006/09/28
Aperture 1.5、出ました。既存ユーザは無償アップデートOKということで、ソフトウェアアップデートでの配布開始を楽しみに待っているユーザも少なくないはず。もちろん私もその1人、起きがけにコーヒーを飲みながらソフトウェアアップデートを起ち上げると…… おや、iTunes 7.0.1が。
というわけで、今回は急遽予定を変更、「iTunes 7」について。Cover Flowおよびアートワーク自動ダウンロード機能の反響は大きいようで、にわかにTIPS的情報への要求が高まっている定番ジュークボックスソフトだ。この原稿を書き始める数時間前にマイナーアップデート版(7.0.1)がリリースされたこともあり、先日掲載されたレビュー記事の補足として、iTunes 7の最新TIPS情報をお届けする次第だ。
自動アートワーク自動ダウンロード機能のまとめ
iTunes 7に追加された「アートワーク自動ダウンロード機能」は、サウンドライブラリに蓄えられた楽曲を対象にアートワークの有無をチェック、なければiTunes Storeにその楽曲の在庫を問い合わせ、あればアートワークを自動ダウンロードするという仕組み。自力で音楽CDからリッピングした楽曲も対象になるうえ、アートワークはタダ。写りのいいアートワークを探してネット上を右往左往、という手間が格段に減る魅惑の新機能だ。
アートワークを入手する際の条件は2つ、iTunes Storeのアカウント(登録は無料)を有していることと、目的のアートワークを持つ楽曲が世界共通のiTunes Storeデータベースに登録されていること。対象の楽曲が世界中どこかのiTunes Storeで販売されていなければならないため、日本の店舗のみの扱いと考えられる邦楽の場合、iTunes Store内を検索して該当曲がなければアウト、ということになる。
ダウンロードされたアートワークは、iTunesのサウンドライブラリフォルダ(通常は~/Music/iTunes)にある「Album Artwork」フォルダ以下に保存される。ファイルは「*.itc」という拡張子を持つ独自形式だが、内容はPNGまたはJPEGの先頭に492バイトのバイナリを加えているにすぎないため、以下の要領でコマンドを実行すればPreviewで開くことができる。
埋め込み型か、外付け型か
前述したとおり、自動ダウンロードされたアートワークは独立した*.itcファイル(以降、外付け型)として保存され、同期したときにiPodへと転送される。iPodのルートにある「iPod_Control」の下、ArtWorkディレクトリ以下に「ArtWorkDB」ファイルと「F****.ithmb」ファイルが転送先で、以降同期のつどファイルが更新される、という仕組みだ。
なお、iPodで再生するかぎり、楽曲のアートワークが埋め込み型か外付け型かを見分けることは難しい。iTunesでは、その楽曲のコンテキストメニューに[ダウンロードされたアートワークを消去]が表示されるかどうかで区別できるが、iPodにはそのような機能がないからだ。
iPodでは埋め込み/外付けの違いを意識する必要はないが、iTunesで共有しているサウンドライブラリを楽しむ場合、埋め込み型ではアートワークが表示され、外付け型では表示されない、という違いが生じる。iTunesの共有機能を応用しているMusicPublisherも同様に、自動ダウンロードされたアートワークは表示されない。この仕様が改善されないかぎり、ファイルが肥大化するデメリットはあるものの、埋め込み型のほうが好都合といえる。
アートワークを曲に埋め込む
そこで本稿の締め切り間際にあわてて作成したのが、以下のAppleScript。これをAutomatorの「AppleScriptを実行」アクションに貼り付け、「選択されたiTunes項目を取得」アクションから引き継ぐようワークフローをデザインすればOK。iTunesで対象の楽曲(複数可)を選択、ワークフローを実行すると……あら不思議、というほどでもないが、自動ダウンロードされた外付け型のアートワークはその楽曲に埋め込まれる。約10分で書き上げたため至らない点はご容赦、at your own riskで利用していただきたい。
|
|
とても単純なワークフローだが、なかなか便利に使えるので一度お試しあれ |
tell application "iTunes"
repeat with i in input
if (class of i is file track) and (every artwork of i is not null) and (downloaded of artwork 1 of i is true) then
set ThisArtWork to (data of artwork 1 of i) as picture
set data of artwork 1 of i to ThisArtWork
end if
end repeat
end tell
return input
end run
ヘッドライン
- アップル「Aperture 3」発表、プロ向けの性能にiPhotoの容易さを融合[02:28 2/10]アップル
- Appleの「A4」プロセッサとは何か? - エンジニアらの意見[01:54 2/10]アップル
- 医療ソリューション企業Epocrates、iPadは医療現場で人気と報告 - 臨床医2割が購入意向[21:00 2/9]アップル
- 米Apple CEOジョブズ氏がNYで秘密の会合 - 大手新聞社幹部らを訪問[21:00 2/9]アップル
- コーレル、「Corel WinDVD 2010」のアップデートを公開[20:46 2/9]ソフト
- Microsoft、Windows 7の「バッテリ交換」警告問題に回答[20:33 2/9]Windows 7
- ネットユーザーがキーボードでこだわるポイント - アイシェアが調査[19:53 2/9]周辺機器
- クレオ、"ブライダル"に欠かせないソフト「筆まめ Braidal 6」2製品を発売[19:42 2/9]ソフト
- ドスパラ、ドイツ「ROCCAT」製ゲーミングマウスとキーボードを販売開始[19:39 2/9]ドスパラ
- 米Micron台湾とNanya、42nmの2GビットDDR3を共同で開発[18:47 2/9]自作







