Today'sShuffle
Today's Shuffleとは
iPod shuffle に転送されている曲の曲名とアーティスト名を表示するhtmlを 作成し、携帯などから見れるようにします。
使用例。
なお、今のところ、以下のような制限があります。
- シャッフルモードには対応してません。「順番に再生」モードで使用してください。
- iTunesの環境設定-iPodが「ディスクとして使用する」設定になってないと(たぶん)使えません。
ダウンロード
インストール条件
確認してないのですが、たぶん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 %>
のようになります。