おれ かきすてる おまえ よむ

ぶんたい いろいろ いちにんしょう ばらばら でも それでいい きにするな おまえ つよくいきろ それでいい

iTunes MatchによってiCloudへ保存されたプレイリストを消す

諸事情によって不要なプレイリストが1400近く作成されてしまったので全て削除しようと思ったら完全にハマって結局削除し終えるのに1日かかってしまった。iTunesこわい。

プレイリストを一括削除する方法

驚くべきことに、iTunes 11にはプレイリストを複数選択して一気に消す方法が存在しない。あちらこちらで「CtrlかOptionで複数選択すればぁ?」などという回答が見られるが、てめぇで試してから言いやがれこのオタンコナス、と思うこと請け合いである。公式な方法としては「プレイリスト一覧画面でDelキーを物理的に押し続ける」しかない。

せめてバックグラウンドで処理してくれないかなーという場合にはScripts for iTunes for Windowsというサイトで公開されているKillTopLevelPlaylists.vbsを使うといい。適当な場所にダウンロードして、iTunesのプレイリスト一覧で適当なプレイリストを選択し、.vbsをダブルクリックで実行するだけ。

基本的にはiTunesに向かってDelのキーコードを送り続けるスクリプトなので、自分で押しっぱなしにするのと同じだけ時間がかかる。自分の環境では概ね1秒に2つ消えてくくらいのペースだった。しかもスクリプト実行中はCPUコアを1つ食いつぶすので、シングルコアだと意味ない。

あと、Macしかない人、ごめん。

iCloud側のプレイリストを消す

一番ハマったのがここ。ローカルのプレイリストを全部消しても、iTunesを再起動するとiCloud側に保存されたプレイリストがダウンロードされてしまうようで、消したはずのプレイリストがゾンビのように復活してしまう。

最終的に切り分けが面倒になって以下の手順を全て実行したら解決した。ので、不要な手順が含まれていると思う。

  1. iCloudで繋がっている全デバイスのiTunes Match関連機能をオフにする
  2. iTunesのホームシェアリングをオフにする
  3. iTunesのプレイリストを全削除して、iTunes Matchを更新する
  4. iTunesを起動したまま一晩寝る(とりあえず10時間くらい寝た)

これで、朝起きたらiTunesを再起動してもゾンビが出ないようになった。


完全な推測だけど、おそらく「寝る」が重要なのだと思う。Appleのサポートページを見る限りでは

iCloud の曲が最新の状態に保たれているかは、iTunes によって定期的にチェックされます。また、iCloud 内の曲はいつでも更新できます。

iTunes で、[Store] メニュー> [iTunes Match を更新] と選択します。

iTunes 11 for Windows: iTunes Match ですべての音楽にいつでもどこでもアクセスする

と書いてあるが、実際にはiTunes Match を更新」ではプレイリストの削除が正しく反映されず、ゾンビが出てくる(ややこしいことに、プレイリストの追加はきちんとiCloud側に反映される)。一方、ほったらかしておくことで定期的に行われる更新では、プレイリストの削除も正しく反映されているのだと思う。

iTunes Matchの調子がおかしい時はとりあえず寝ればなんとかなる気がしてきた。