ここ最近Weblogの普及に伴ってサイトに自分が聞いているCDなどのプレイリストが掲載されているところが多数あります。いろいろ見ているとWinampやQCDというMP3プレイヤーのPlug-in機能を使っていることが判明しました。俺が使っているのはiTuneなのです。そういうものを探してみたのですが見つからず。ということでヘッポコですが作成することにしました。
激しく注意事項。
全自動で更新は出来ません。手動でバッチファイルを起動する必要があります。多分タスクスケジューラとかに突っ込んで10分とか20分おきにやれば出来ると思います。俺は思いついたときに手動でバッチを実行していますが・・・。使いたい人がいるかは不明ですがとりあえず晒しておくことにします。自己責任の元にお願いしまする。一応きちんとしたものを誰か作ってくれるまでの代用として自分で作りました。
iTunes_Pickup_part4.xsl(11/21版)
イレギュラーなやり方でイメージ表示も出来るようにしました。11/8版を元にアマゾンのアソシエイトリンクとイメージ表示が出来るように拡張しました。
準備するもの
とりあえず以上の2点があれば出来ます。
iTune for Winは曲の管理データをMy Document->My Music->iTunesに「iTunes Music Library.xml」というXMLファイルで管理しています。ということでXSLスタイルシートを使って最近かけた曲の何曲かをピックアップするということです。
最新の?曲分を取り出してJavascriptで出力します。
document.write("
<p class='playlist'>最後にかけた時間<br />
曲名<br /> by アーティスト名<br />
〜 以下略 〜
</p>
<p class='day'>iTune4.1.1 for win</p>");
こんな感じの出力になります。バッチファイルは以下のような感じなります。
@echo off set MSXSL_DIR=d:\xml(MSXSL.EXEを置いてある場所のパス) set PATH=%MSXSL_DIR%;%PATH% msxsl (iTunes Music Library.xmlへのパス) (iTunes_Pickup.xslへのパス) -o (出力するJavascriptのファイル名とパス)
うちの場合ですと
msxsl 'iTunes Music Library.xml' iTunes_Pickup.xsl -o ../../../MyDoc/MySite/hp/css/playlist.js
「iTunes_Pickup.xsl」はiTuneの曲管理ライブラリの「iTunes Music Library.xml」と同じフォルダに入れてあります。バッチファイルも同じフォルダにはいっています。
なおMSXSL.EXEはパスの指定で空白文字を指定できません。「iTunes Music Library.xml」はもろ空白文字を含んでいます。空白文字を含むパスの指定は''で囲ってください。
「-o>」はXMLにXSLを当てた結果をファイル出力させるコマンドですので付け忘れのないようお願いします。出力したJavascriptファイルをプレイリストを表示させたいページから呼び出してください。
<script language="javascript" type="text/javascript" src="css/playlist.js"></script>
あとはChangedFileUploaderをつかてファイル転送の設定をすればお終いです。
iTunes_Pickup_part4.xsl(11/21版)(lzhファイルをDLする。)
後から手を加えやすいように作成しました。XSLファイルが3個あります。作成されるファイルも3個です。イメージ表示はイレギュラーでタグのコメント欄にAmazonでイメージを自分で探して、そのURIを{イメージURI}という感じで書き込んでください。Amazonにないイメージは自分のサイトに置けばすべて表示できるようになります。Amazonに結構おいてないものとかもありますので・・・。
<song_data>
<song>
<Track_ID>370</Track_ID>
<Name>原罪</Name>
<Artist>BUCK-TICK</Artist>
<Album>Mona Lisa OVERDRIVE</Album>
<Genre>Japanese Rock</Genre>
<Kind>AAC オーディオファイル</Kind>
<Size>2597772</Size>
<Total_Time>159172</Total_Time>
<Track_Number>9</Track_Number>
<Year>2003</Year>
<Date_Modified>2003-11-20T12:42:54Z</Date_Modified>
<Date_Added>2003-11-15T11:46:13Z</Date_Added>
<Bit_Rate>128</Bit_Rate>
<Sample_Rate>44100</Sample_Rate>
<Comments>{http://images-jp.amazon.com/images/P/B00007KL98.09.THUMBZZZ.jpg}</Comments>
<Play_Count>1</Play_Count>
<Play_Date>-1142715272</Play_Date>
<Play_Date_UTC>2003-11-21T00:33:44Z</Play_Date_UTC>
<Location>file://localhost/E:/MP3/BUCK-TICK/Mona%20Lisa%20OVERDRIVE/09%20%E5%8E%9F%E7%BD%AA.m4a/</Location>
<File_Folder_Count>4</File_Folder_Count>
<Library_Folder_Count>1</Library_Folder_Count>
</song>
</song_data>
作業用のXMLは以上のような感じで書き込まれます。iTunes Music Libraryと違って要素名+データの形にしてあるので自分で表示項目を変更するのも簡単に出来ると思います。
lzhファイルを解凍したら、3個のXSLファイル、BATファイル、LastplayのHTML、CSSファイルが作成されます。各々の環境に合わせて「曲数」「アソシエイトID」などを書き換えてください。HTMLとCSSはサンプルなので参考にして自分用にCSSを作成してください。
転送するファイルは、Javascriptファイルと新たにlastplay.htmlを指定してくださいね。