Last.fm Jun 23 2006 Beta

Last.fmのPlug-in新版Betaテストが開始され、それに伴いGroupが設置されています。
参加されてみては?

Last.fm_Beta.gif
■Shiny! The web team has busy working on an updated look with new features for Last.fm, and it’s time for subscribers to have a play and kick the tyres.

http://www.last.fm/group/Last.fm%2BBeta

Last.fm_Beta_for_windows.gif
■Get the new Last.fm Client BETA here.

http://www.last.fm/group/Audioscrobbler%2BBeta/forum/30705/_/126082

タグ: , , ,
Posted 2006年6月27日 1時44分40秒 in Mac&OtherComputers, Windows&Customize by junichi_y Comments (4)

NuSOAPとAudioscrobblerでAWS(略)

2005年11月19日改訂

Now Playingのエントリーにて紹介した、Audioscrobbler(現Last.fm)のフィードを表示する方法ですが、今回は、「NuSOAPを使ってAudioscrobbler(現Last.fm)のフィードでAmazonWebSearch」というなんとも長ったるいタイトル(正式)の作業を行ってみました。

で、サンプルはこのblogのsideに表示中です。
要点1.AudioscrobblerのフィードをAmazonで検索し、リターンがあれば結果を表示。
要点2.画像が有れば画像も表示。
要点3.リターンが無い場合は、Audioscrobblerへのリンクを出力。

更新 2005年11月17日
Last.fmのRSSがURL変更となりました。
変更前:http://ws.audioscrobbler.com/rdf/history/username
変更後:http://ws.audioscrobbler.com/1.0/user/username/recenttracks.rss

更新 2005年11月19日
Last.fmのRSS出力に際し、XMLの名前空間が変更となっておりましたので、それに併せて変更致しました。

更新 2006年02月03日
パラメータ設定をとりまとめ、わかりやすくし、ソースの整理を致しました。

まずは「NuSOAP」ですが、「生」NuSOAPを使用した場合、見事に検索結果が文字化けします。
そこでNuSOAP Revision 1.59をベースに日本語を利用できるようにいしなおさんが修正された、nusoap.phpをお借りします。
ダウンロードするファイルは、「phpgoogle.zip」です。この中の「nusoap.php」をありがたく使用させていただきます。

いしなお! – PHP NuSOAPでGoogle Web API (13:50)

次に、以下のソースを各自個人のアソシエイトID等の変更を行ったうえで、nusoap.phpと同じディレクトリに適当なファイル名でアップします。
“<$MTBlogURL$>images/”ディレクトリに、“noimg.gif”というイメージを用意してください。(好みの画像で結構です)
そしてインクルード。以上で終了。

※ソースの最初にCSSが埋め込んであります。適宜変更してください。

※このスクリプトによる、如何なる損害も、一切補償致しません。自己責任で設置してください。
※このスクリプトは、コメントあるいはトラックバックウェアとします。ご使用の際には必ずコメントあるいはトラックバックをお願いします。
※このスクリプトの改変は自由ですが、このままの形での再配布は禁止とします。改変の際は是非お知らせください。

<style type=”text/css”>

table.audioaws {border-collapse: separate;}

td.audioawsimg {background: #ffffff;}

td.audioawstxt {background: #f0f8ff;font-family:”ヒラギノ角ゴ Pro W3″ ,”Osaka” ,”MS P ゴシック” ,verdana ,arial ,sans-serif;}

</style>

<table class=”audioaws”>

<?php

// バージョン0.5.5

// 2006.02.03 パラメータ設定をとりまとめ と ソースの整理

//

// Diary::Weblog

// http://jun.daa.jp/

// NuSOAPとAudioscrobblerでAWS(略)

// http://jun.daa.jp/archives/20050904142833.php

// 各パラメータを設定します 変更はここから

// —————————–

// “Last.fm Username”

//

$LastfmUser = “junichi_y”;

// Amazonへリクエスト用 sortに利用可能なパラメータ

// Featured Items +psrank

// Bestselling +salesrank

// Artist Name +artistrank

// Original Release Date +orig-rel-date

// Alphabetical +titlerank

//

// “パラメータ”

//

$sort = “+psrank”;

// “あなたのアソシエイトID”

//

$tag = “diaryweblog-22″;

// “あなたのデベロッパートークン”

//

$devtag = “D2RI43QR9UUHXB”;

// —————————–

// 設定はここまで 以下は変更しない

// Last.fmのfeed取得設定

define(‘AUDIOSCROBBLER_RDF’
, ‘http://ws.audioscrobbler.com/1.0/user/’ . $LastfmUser . ‘/recenttracks.rss’);

// Last.fm feedをオープン

if (!($fp = fopen(AUDIOSCROBBLER_RDF, “r”))) { die(“could not open Audioscrobbler feed”); }

while ($data = fread($fp, 4096)) { $rdf_content .= $data; }

fclose($fp);

// Begin parsing through

preg_match_all(“‘<title>(.*?)</title>’si”, $rdf_content, $songs); $songs = $songs[1];

preg_match_all(“‘<link>(.*?)</link>’si”, $rdf_content, $links); $links = $links[1];

// Soapを読み込み

include(“nusoap.php”);

// 10曲分の処理開始

for ($i = 1; $i < count($songs); $i++) {

list($artist, $title) = explode(‘ – ‘, $songs[$i]);

$keyword = htmlspecialchars($keyword);

$soapclient = new soapclient(“http://soap.amazon.com/schemas3/AmazonWebServices.wsdl”, true);

$proxy = $soapclient->getProxy();

$space = ” “;

$keyword = $artist . $space .$title;

// Amazonへリクエストのパラメータを用意

$params = array(

‘keyword’ => $keyword,

‘page’ => $page,

‘mode’ => ‘music-jp’,

‘tag’ => $tag,

‘type’ => ‘lite’,

‘sort’ => $sort,

‘devtag’ => $devtag,

‘locale’ => ‘jp’

);

//リクエスト

$result = $proxy->KeywordSearchRequest($params);

if(!$result['faultstring']){

//$itemにtype’lite’で定義されている出力データを格納(10曲分)

$items = $result['Details'][0];

echo “<tr><td class=\”audioawsimg\”><a xhref=\”" . $items['Url'] . “\” target=\”_blank\”><img align=\”right\” border=\”0\” xsrc=\”" . $items['ImageUrlSmall'] . “\” alt=\”" . $items['ProductName'] . “\” /></a></td><td class=\”audioawstxt\”><a xhref=\”" . $items['Url'] . “\” target=\”_blank\”><b>” . $artist . “</b><br />” . $title . “</a></td></tr>\n”;

} else {

echo “<tr><td class=\”audioawsimg\”><img align=\”right\”
xsrc=\”<$MTBlogURL$>images/noimg.gif\” alt=\”No Image.\” /></td>
<td class=\”audioawstxt\”><a alt=\”$links[$i]\” xhref=\”$links[$i]\” target=\”_blank\”>
<b>$artist</b><br />$title</a></td></tr>\n”;

}

}

?>

</table>

タグ: , ,
Posted 2005年9月4日 14時28分33秒 in php by junichi_y Comments (3)

今度こそNow Playing

以前はAudioscrobblerを利用して”Now Playing”、というか”Recent Tracks”を設置していました。
コレはコレで、似たような曲を聞いている人などを探すなど便利な機能が有った訳なんですが、サーバーが繋がりにくい事が多く、非常に不便を感じていました。

そこで、見つけました。
音ログ“なる存在も確認してはいたのですが、

川百合会へようこそ 〜白薔薇ワッショイ〜:NowPlaying for Windows

こちらに決定。

この”NowPlaying for Windows”は、クライアント側で動作し、iTunesを監視、png画像をサーバーにアップロードするというもの。
だから即時更新!だから「NowPlaying」!
で、png画像をコチラからいただきました。

※WinのIEは、png画像の透過を正しく表示できませんので、透過部分をバックグラウンド色にしてやる必要があります。

タグ: , , ,
Posted 2004年9月10日 1時21分44秒 in Movable Type by junichi_y Comments (4)

Audioscrobbler plugin update

Audioscrobbler plugin (iTunes for Win)がupdateされ、バージョン0.0.5になりました。

Audioscrobbler :: Downloads

04/09/05 追記:しかし、相変わらずAudioscrobblerのサーバーはよくアクセスできなくなります。それはそれは悲しくなるぐらい。
Recent Tracksの表示を外しました。

タグ: , ,
Posted 2004年9月3日 23時52分43秒 in Windows&Customize by junichi_y Comments (1)

Now Playing

2005年11月19日改訂

前々からしたかった「Now Playing」。
コレってナニかというと、今(というか最近)コンピューターで再生中の音楽をblogに表示するというもの。
「自己主張が激しい」等というコメントも数多くみられる「Now Playing」ですが、それはそれ。まぁいいじゃないですか。(笑)

Windows・iTunes・サイトのエンコードがUTF-8ということで、長らく悩んでおりましたが、このたびめでたく解決したので、ココに方法をメモ書き。

ここではiTunes(Win用)を説明しますが、Mac用でもしなければならないことはほぼ同じです。
ちなみに他のPlayer用プラグインもあります。
後はサーバー側でphpが使える環境であることが必要です。(ちなみにこのblogはロリポですが、ノープロブレム!)

まず、用意するもの。

言わずと知れたPlayer. “iTunes“.
アップル – iLife – iTunes – ダウンロード
次に、iTunes用Plug-in. “Audioscrobbler“.
Audioscrobbler :: Downloads

次は、Audioscrobblerにサインアップ(無料登録)してください。

Audioscrobbler :: Singup

先ほどダウンロードしたiTunes(Win用)Plug-in”iScrobblerWin_0_0_4.exe”(04/08/09現在)をダブルクリックし、インストールします。
サインアップした”Account”と”Password”を入力し、使用可能にします。

後は下のサイトを参考に、インクルードするためのphpファイルを用意します。

AudioscrobblerWiki – Web&RSS_Data

を参照。(上記リンク先が消失につき、スクリプトの自サイト公開を行ないます。)

<?php

// Define the URL/path to user’s Audioscrobbler XML/RDF feed

define(‘AUDIOSCROBBLER_RDF’,
‘http://ws.audioscrobbler.com/1.0/user/junichi_y/recenttracks.rss’);

// Try to open Audioscrobbler feed

if (!($fp = fopen(AUDIOSCROBBLER_RDF, “r”)))
{ die(“could not open Audioscrobbler feed”); }

while ($data = fread($fp, 4096)) { $rdf_content .= $data; }

fclose($fp);

// Begin parsing through

preg_match_all(“‘<title>(.*?)</title>’si”, $rdf_content, $songs); $songs = $songs[1];

preg_match_all(“‘<link>(.*?)</link>’si”, $rdf_content, $links); $links = $links[1];

// Print out last 10 songs

for ($i = 1; $i < count($songs); $i++) {

list($artist, $title) = explode(‘ – ‘, $songs[$i]);

echo “<a alt=\”$links[$i]\” xhref=\”$links[$i]\” target=\”_blank\”>$songs[$i]</a><br />\n”;

}

?>

までをファイルとして保存するのですが、このテキスト中”http://ws.audioscrobbler.com/1.0/user/username/recenttracks.rss”の部分、usernameには、取得済みのAccountを入力し、”audioscrobbler.php”としてサイトにアップロード。
Templateの編集を行い、indexの好きなところに

<?php include(‘audioscrobbler.php’); ?>
追記:04/11/29MT使いの方は、テンプレート中に、
<? include”audioscrobbler.php”;?>

と記述しインクルード。

いやあ、簡単。
曲の日本語タグも通るし、すばらしいです。
少し「Now Playing」ではなくタイムラグがあるような気はしてしょうがないのですが、見逃しましょう。(笑)
今度時間のあるときに、曲のタイトルだけでなく、アーティストも表示されるように何とか頑張ってみよう。
phpの知識がないんだけれど。(笑)

ちなみにワタシのプレイリストはこちら。
Audioscrobbler :: User :: Junichi_y

更新 2005年11月19日
リンク先が消失につき、スクリプトの自サイト公開を行ないます。
Last.fmのRSS出力に際し、XMLの名前空間が変更となっておりましたので、それに併せて変更致しました。

タグ: , ,
Posted 2004年8月9日 21時07分58秒 in php by junichi_y Comments (19)

Get Adobe Flash player