2015年10月23日金曜日

アルバムレートに勝手に★をつけるiTunesの仕様にウンザリ。回避方法を試してみました。

ここしばらくの間、ずっと悩まされ続けていたiTunesの仕様について、一応の回避策(完全版では無いのですが)を施すことができたので、備忘録を兼ねてご紹介いたします。

ご存じの方、あるいはお困りの方も多いかと存じますが、iTunesには親切(あるいはとてもお節介)な仕様があります。
それは、ミュージック(個々の楽曲)につけたレート(★マーク)にあわせて、その楽曲が収録されているアルバムにも自動的にレート(☆マーク)がつけられるというものです。

「自動アルバムレート機能」とも呼べる仕様ですが、以前はそんなに気にすることはなかったのです。なぜならもともと、自動的に設定されるレートは☆(白星)だったからです。

そのため、この↓ようなスマートプレイリストでも、何の問題もなく、スムースに運用できていました。極々単純に、お気に入りの楽曲に★をつけて、それをプレイリスト化していたのですね。

ところが。
この仕様に追加機能が加わったようで、iTunesが勝手に☆をつけるだけでなく「勝手に★に換えてしまう」ようになりました。 おそらく、Apple Musicの登場にあわせての仕様変更なのでしょう。


これが困ったことに、アルバムに★(黒星)に設定されてしまうと、前掲のプレイリストなどは、アルバム全曲がリストに組み込まれてしまいます。アルバムレートに★がつくと、そのアルバムに含まれる全曲が★付と同等の扱いを受けてしまうのです。
何のためにレートをつけて、お気に入りの曲「だけ」を選り抜くリストを作っていたのか、まったく意味をなさなくなってしまいました。

ということで「iTunesがアルバムに☆(白星)をつけるだけでなく、勝手に★(黒星)に書き換えてしまう」という仕様を回避して、レートを利用したプレイリストで「意図したミュージックだけをスマートプレイリスト化」する方法です。

まずは、調査と実験の結果から。
  1. 「自動アルバムレート機能」は、停止させることができない。
  2. 「自動アルバムレート機能」はiTunesを起動するたびに、自動計算されている。
  3. iTunes上で表示される★マークは5段階だが、内部的には0〜100の数値で記録されている。
  4. ★マークは一つで20の値を持つ。(★半分は10)
  5. 「自動アルバムレート機能」は、内部レートの数値が0の楽曲に対して処理(★が追加)される。
ということは・・・
元々★のついていない楽曲にも、9以下の数値を加えてやれば、iTunes上の見かけは★無しだけれども、「自動アルバムレート機能」の対象にはならない、ということですよね?
 
ところで、iTunesはこのレートを、どうやって管理しているのでしょう。
調べてみると、「/Music/iTunes/iTunes Music Library.xml」に定義されているようです。この「iTunes Music Library.xml」はプレーンなテキストファイルでしたので、テキストエディタで編集可能です。


ということで、例えば正規表現を利用して、テキストエディタでアルバムレートを書き換えれば・・・
アルバム自体の自動レーティング機能は止められませんが、各楽曲が意図しないレート付けされることはなくなりました。


もちろん、ファイルをテキスト編集するなどという、ベタな方法を利用しなくても、実はApple Scriptを組んでiTunes上から簡単に一括処理をすることができます。(Scriptを利用する方が操作が簡単で手軽、汎用性がありますよね)

結果。
「自動アルバムレート機能」は機能したまま、アルバムに対して勝手に☆や★をつけることは変わりませんが、個々の楽曲が意図せずに★扱いになることはなくなりました。

新たに楽曲を追加した際には、それぞれ個別にレート数値1を追加するという追加処理が必要になりますが、今までiTunesを起動するたびにチマチマと★を修正していた手間に比べれば微々たるものです。

お試しの際には、バックアップを取る事を強くお勧めします。また、実際のファイルの編集等は自己責任にてお願いいたします。

ご参考になりましたら幸いです。