Today'sShuffle

Today's Shuffleとは

iPod shuffle に転送されている曲の曲名とアーティスト名を表示するhtmlを 作成し、携帯などから見れるようにします。

使用例

なお、今のところ、シャッフルモードには対応してません。「順番に再生」モードで使用してください。

ダウンロード

インストール条件

確認してないのですが、たぶんRuby1.8以降なら動くと思います。1.6系でも、erbを入れれば動くかもしれません。

ライセンス

GPLです。

設定

shuffle.rbに設定を書きます。必須な設定は、IPOD_PATH(接続したiPodのパス) のみです。

MACの方は、

IPOD_PATH="/Volumes/MyIPod/"

Windowsの方は、

IPOD_PATH="e:¥¥"

のように記述してください。

使い方

iPodが接続され、ファイルボリュームが見えた時点で、

$ ruby ./shuffle.rb

とすると、同じフォルダにshuffle.htmlというファイルができます。 このファイルをブラウザで見るなり、サーバにアップロードしてください。

携帯電話の2468、あるいはPCのカーソルキーを上下左右に割当て、以下のように動きます。

キー 動作
4,← 1画面戻る
8,↑ 1曲戻る
2,↓ 1曲進む
6,→ 1画面進む

動作にはブラウザ依存があると思います。いまのところ、下記のブラウザでのみ動作確認しています。

FireFox1.0 Mac OS X
FireFox0.9 WindowsXP
Safari1.2.4 Mac OS X
Opera AH-K3001V
Opera7.60 WindowsXP

IEだとエラーになりますね。気が向いたら調べます。

高度?な使い方と解説

template/以下にerbで書かれたテンプレートがあります。 shuffle.rbのTEMPLATE_FILEが指すテンプレートから、shuffle.htmlは生成されます。

サンプルにあるのはsimple.erbというファイルですが、これは曲名、アーティスト名、アルバム名、ジャンル、をひたすら表示するものです。

playlists[] はハッシュで、複数のプレイリストがあればその数だけ配列になっています。iPod shuffleはプレイリストを一つしかもっていませんので、playlists[0]しか意味がありません。(シャッフルモード時の曲順は別で、現在のところ非対応です。)

playlists[]["SongList"] は曲のIDを演奏順に並べた配列です。

playlists[]["Title"] はプレイリスト名です。iPod shuffleの場合は、機体につけた名前が入るようです。

songs[]はハッシュで、キーは曲のIDです。ハッシュの指す先はさらにハッシュになっており、 以下のキーが使用できます。中にはutf8の文字列が入っています。

Title タイトル
Location 楽曲ファイル実体へのパス
Album アルバム名
Artist アーティスト名
Genre ジャンル
Filetype ファイルの種類
EQ Setting イコライザ設定
Comment コメント
Composer 作曲者
Grouping グルーピング

つまり、プレイリストに入っている曲名一覧を得るためには、

playlists[0].each do |song_id|
 puts songs[song_id]["Title"]
end

のようにすればよいです。これをerbで書くと、

<% playlists[0].each do |song_id| %>
 <%=songs[song_id]["Title"] %>
<% end %>

のようになります。

感想などは以下に追記ください。

コメント