Today'sShuffle

Today's Shuffleとは

iPod shuffle に転送されている曲の曲名とアーティスト名を表示するhtmlを生成します。 もっと極端に言うと、 iPod shuffle の曲名を携帯で見るためのツールです。 使用例

なお、今のところ、以下のような制限があります。

  • iTunesの「環境設定」-「iPod」が「ディスクとして使用する」設定になってないと(たぶん)使えません。
  • シャッフルモードには対応してません。「順番に再生」モードで使用してください。

ダウンロード

shuffle-0.2.1.tar.gz

インストール条件

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

ライセンス

GPL2です。

設定

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 %>

のようになります。

更新履歴

  • ver0.2.1 2005/03/25 1曲戻る操作が効かないバグ修正
  • ver0.2 2005/03/23 時間表示をサポート
  • ver0.1 2005/03/21 初版

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

コメント