iTunesレポジトリを襲った異変

とあるiTunes関係のフリーソフトをなんとなく実行してみたところ、いきなりレポジトリがビミョウに書き換えられてしまった。曲名の左側にあるチェックボックスが全部外れてしまったのである…。このチェックボックス、外すとiPodへの転送がされなくなり、再生時も順次再生ではスキップされてしまうようになる…と思う。

しかも、始末が悪いことに、こいつは複数の曲に対して一気に変更をかけることが出来ない…ように見える。(追記:Command+Clickで出来ました。。。。コメントくださった通りすがりさんありがとうございます。従って以降の記述はもはや無意味ぽ。。。)従って、手元の16000曲以上分のチェックボックスを一つ一つチェックして…。

そんなのありえなーい。

というわけで、さすがに何か対策を考えなければならないのだが、ググろうにもそのチェックボックスがどういう名称で呼ばれているのかわからなければならないわけで。かなり難航した。結局、AppleScriptを使わざるを得ないだろうことは推測できたので、iTunes+AppleScriptのサイトを探し、そこで何か使える情報はないかと探し回ることに。

あった。

http://www.malcolmadams.com/itunes/itinfo/203changes.php

2.0.3の頃のchangesだが、曲名のところのチェックボックスを操作するスクリプトが掲載されている。しかしワタシは知っている。iTunes用のAppleScriptはそのままでは動かないことを。AppleScriptが扱うiTunesのオブジェクト名は、ローカライズされてしまうとオブジェクトの名前自体が変わってしまうので、"Library"となっている部分は"ライブラリ"にしなければ動かないことを。(たぶんほんとはplaylist "Library"ではなく、常にmaster playlistを指し示すlibrary playlistオブジェクトを使うのが正しいんだろうな)

そんなわけで、ライブラリにある曲のチェックボックス(どうやらenabledという名前らしい)を問答無用で書き換えるスクリプトを、スクリプトエディタに流し込む。

tell application "iTunes"
repeat with thisTrack in (get every track of playlist "ライブラリ")
set thisTrack's enabled to true
end repeat
end tell

その後、おもむろに「実行」をクリック。スクリプト言語とはいえ、いくらなんでもその速度はないだろ…という速度だが(これはたぶんiTunesのほうが悪そう)、ちゃんとライブラリ全体のチェックボックスをチェック状態に変化完了。助かった…。

というわけで、iTunes絡みでなにか変なことをやる場合は、実行前に必ずレポジトリファイルのバックアップを取るべきであると痛感した。いや、もう2回くらい飛んでいて、そのたびに「今度こそちゃんとバックアップを取ろう・・・」とか思うんだけどのど元過ぎると忘れちゃうんだよなー。