June 25, 2007
[Vim] Vim の複数起動を抑制
Windows 上で複数ファイルをまとめて GVim で開くと,大量の GVim インスタンスが起動してどうしようかなーと思ってたら,--remote-silent というオプションが用意されてました.もっと早く気づいていればよかった...
gvim.exe --remote-silent <ファイル名>
上記の通りにすると,新しく GVim を起動したときに,既に起動している GVim のインスタンスがあれば,そのインスタンスでファイルを開いてくれます.便利便利.
June 12, 2007
[PC環境改善] iPod の再生履歴を Last.fm へ送信する Ruby スクリプト
iPod で再生した曲の履歴を Last.fm へ送信するツールが何かないかなぁ,と探すと,iPod-last.fm bridge というスクリプトがありました.
アーカイブファイルをダウンロードして展開すると,いくつかの Ruby スクリプトが出てきます.
Cygwin 環境で試しました.まず最初に,config.rb を編集する必要があります.
$user_name = 'username' $user_name = 'secret' $ipod_paths = [ "/cygdrive/e/iPod_Control/iTunes" ] $ipod_timezone_shift = 8
強調で示した部分が今回私が書き換えた箇所です.
日本は GMT+9 ですから,$ipod_timezone_shift は最初 9 に設定していたのですが,iPod 本体の時刻設定が正しいにも関わらず,再生時刻が 1 時間ずれてしまったので,8 にしています.
とりあえず設定完了です.これで get_play_counts.rb を実行します.これを実行すると,以下のように,1 行に 1 曲分のテキストデータ (UTF-8) が得られます.
$ ./get_play_counts.rb 曲1のアーティスト ; 曲1のタイトル ; 曲1のアルバム ; 曲1の長さ ; 曲1の最終再生時刻 曲2のアーティスト ; 曲2のタイトル ; 曲2のアルバム ; 曲2の長さ ; 曲2の最終再生時刻 ... (中略) ... $
get_play_counts.rb は曲の再生履歴を出力するだけです.これを Last.fm へ送信するには,as_submit.rb を使用します.パイプで渡すだけ.
$ ./get_play_counts.rb | ./as_submit.rb
これであとは待つばかりです.送信に失敗するとリトライしてくれます.
さて,iPod は再生回数と最終再生時刻しか本体に記録しないわけですが,このスクリプトは,再生回数も考慮してくれます.
ただしデフォルトの設定ですと,再生回数を無視するようになっています.これを有効にするには,config.rb の次の行を編集します.
$add_fake_songs_to_make_playcount_match = true
元々は false と書いてありますので,true に変更します.このスクリプトの作者は true に設定しているようです.
なお,clear_play_counts.rb を実行すると,再生履歴をクリアできます.