いい加減にしろという声が聞こえてきそうですが、できた(はず)。

一応やり方を下に書いておきますが、ClearはPHPとか苦手なので、もっとスマートな方法があったら教えてくださいね。

  1. Cronで5分に一回データを取りに行く
  2. PHPで読み込み&出力

はい、以上w
それぞれのパートの説明でもしていきますかね。

まず、データを取りに行くことについて。

Last.fmってところがWMPなどのメジャーなプレイヤーにプラグインとして動作する再生している曲を集めるソフトを公開し、それを元にいろいろな情報を提供しています。同じ曲を聴いた人とか、このアーティストに似ているアーティストとか。

そんな中で、Webserviceとして、ベータ版ながら、最近聴いた曲やトップアーティストなどの情報をテキスト 、RSS、XMLで提供してくれています。

Clearはそこからデータを引っ張っています。

具体的にはCronで以下のコマンドを実行しています。

cd /home/略/music/
wget http://ws.audioscrobbler.com/txt/recent.php?user=justsize -q --output-document=music.txt

いや、なんかPHPのFile関数でも読める筈なんですが、うまくいかなかったので、メンドイのでCronでいいやと。

次に、それを整形します。

といっても、上記URI見てもらうとわかるんですが、再生曲、時間、再生曲、時間と繰り返されているので、以下のようにPHPを書きました。


$line= file("./music/music.txt");
for ($i=0;$i<9;$i++)
	{
	switch($i):
	case 1:
	case 3:
	case 5:
	case 7:
	$newline = htmlspecialchars($line[$i], ENT_QUOTES);
	echo "<dd>$newline</dd>";
	break;
	default:
	endswitch;
}

んで、Nucleusのsidebar.incに以下の様に書き加えました。


<div class="sidebar">
<dl class="sidebardl">
<dt>最近聴いた曲</dt>
<%phpinclude(./hoge/ptest.php)%>
</div>

まぁそんな感じです。ダメっすかね(汗