hakeの日記

Windows環境でプログラミングの勉強をしています。

KeroPlayer 0.3.2

半年振りのアップデートです。変更点は以下のとおり。

  • kerolist.txtをpodcastフォルダにも置ける様にした
  • mp3以外の拡張子のファイルを持つエントリもリストに登録可能にした
  • タグの日時フォーマット解析をparsedateで行うようにした
  • エントリが新着順になっていないRSSに対応した追記:不完全です)

今回はJAXA i マンスリートークの情報取得で落ちてしまうというご報告を頂きまして、その対応がメインです。

一つ目、kerolist.txtを音声ファイルダウンロード用のpodcastフォルダにも置ける様にました。本体とSDカード上のどちらのフォルダでも構いません。ファイルを探しにいく順序は従来の本体Documents直下→本体podcastフォルダ→SDカードpodcastフォルダとなります。複数の場所にkerolist.txtが存在する場合は最初にみつけたファイルを使用します。


二つ目、上記サイトの音声ファイルの拡張子がm4aで、且つmplayerで再生可能であったために変更しました。なお、全てのm4aファイルがmplayerで再生可能かは知りません(^^ゞ 他の拡張子の追加を行いたい場合は一旦keroplayerを起動→終了した上で、keroplayer.conf内のext_a行に追加してください、ここに書かれていない拡張子の音声ファイルを持つエントリは情報取得をしてもリストに追加されません。
一々追加するのは面倒だという方はvideo行をyesに変更してください、ext_d行に書かれている拡張子を持つエントリ以外を無条件で登録するようになります。


三つ目、今回上記サイトが情報取得時に落ちてしまった原因です。いままで自前で解析をしていたのですが、流石にいろいろなフォーマットに対応できなくなってきましたのでparsedateに丸投げするようにしました。最初からこうすれば良かったのですが当時は知識が無かったもので(^^ゞ
この為、いままでとはリスト上の日時表示のフォーマットが変わる可能性がありますが、ご容赦を。最悪落ちてしまう可能性もあります、その場合はコメントにてご連絡をお願いします。可能であれば対応します。


四つ目、上記サイトで繰り返し情報取得をするとエントリが重複して登録されてしまうというバグがあって、原因を調べたらRSSで取得したエントリの順番が新着順になっていないことがわかり対応しました。

    • 追記、バグ情報。エントリの順番が新着順になっていないRSSで次回エントリが追加された場合に情報取得を行うと新着エントリがリストに登録されない可能性があります。その場合はお手数ですが設定で「保存するエントリ数」をRSS上の記事以上の値にしてから、全エントリ削除を実施した上で情報取得してください。まだ他にもバグがありそうだ(^^ゞ


三つ目と同様にxmlも解析そのものもrexmlを使用すればソースもスッキリしそうなのですが流石に面倒で行いませんでした、時間とやる気が出たら実施しようと思います(^^ゞ