iTunesの曲一覧を解析して表示

この記事は約2分で読めます。

左下に表示している「Veena!」のブログパーツは、iTunesのライブラリのデータベース(iTunes Music Library.xml)を解析して、自分のライブラリにどのアーティストの曲がどれくらい入っているか、順位を表示してくれるものだ。

これと同様に、登録している曲やアルバムの一覧を出したいなぁと思っていたんだけど、どうもうまいサービスがない。
なら自分で作っちゃえと、このサイトで使ってる言語の(PHP)でiTunesのライブラリのXMLをパースするプログラムを作ろうとして色々検索してたら、ITUNES XML PARSER FOR PHPなるものを発見。
これはよさそうだ!

ってことで、それを使ってコードを書いてみた。

<?php
$ProgPath = "/home/hoge/fuga/";
$LibName = "iTunes Music Library.xml";
$tmp = "";

include $ProgPath . "itunes_xml_parser_php5.php";

$songs = iTunesXmlParser($ProgPath . $LibName);

if ($songs) {
 $output .= "<ol>";
 $i = 1;
 foreach ($songs as $song) {
  if ($tmp != $song["Album"]) {
   $output .= "<li>".$song["Album"]." (".$song["Artist"].")</li>";
   $i++;
  }
  $tmp = $song["Album"];
 }
 $output .= "</ol>";
 print ($output);
}
?>

6行目で、ITUNES XML PARSERをインクルードして、8行目でライブラリを解析している。10行目から、曲ごとの処理で、13行目では同じアルバム名の曲であれば表示をスキップしている。こうすることで、アルバムの一覧がリストアップされていく。

ちなみに今回の表示対象はアルバム名とアーティスト名だけ。

これは簡単に出せて面白いw

次なるステップは、「再生中の曲を表示」かなぁ。

ちなみに今回の実行結果は、上のメニューの「iTunes」からいけます。

コメント

  1. わい より:

    一覧で、()だけのが3つくらいあったのがなぜか気になる...

  2. うずら より:

    あれ、、、ほんとだw