iSyncrが出力したプレイリストファイルの日本語曲をPowerAMPで再生できるようにするアプリ


PowerAMPのバージョンアップで日本語のファイル名やディレクトリ名やアーティスト名・アルバム名を含む曲が聴けなくなったなーと思っていたんですが、どうやら PowerAMP Ver.2系 からプレイリストファイル(m3uファイル)の扱いが変わったようです。
BOM無しのm3uファイルはUTF-8とみなされなくなったようです。BOM付きのm3uファイルならちゃんと日本語を解釈してくれる模様。

で、iSyncrが出力するプレイリストファイルはBOM無しのUTF-8なm3uファイルなので読めなくなったんですね。

http://d.hatena.ne.jp/kenzui1969/20120227/1330344797
などで説明のある通り、下記のアプリを使うと変換できるようです。

https://play.google.com/store/apps/details?id=org.jpn.aritech.android.changem3ucharcode

…ということで使ってみたんですが、どうやら↑のアプリは /mnt/sdcard/*/*.m3u ファイルまでしか探索対象にしてくれないようで、私の ISW11F(ArrowsZ)に入っている /mnt/sdcard/external_sd/syncr/*.m3u というプレイリストファイルは変換してくれないのでした。

いったんこれらのファイルを /mnt/sdcard/syncr/ 配下にコピーしても良かったんですが20ファイルくらいあるのと、今後これを繰り返すと考えるとめんどくさすぎるので、変換するアプリを作りました。

  • https://play.google.com/store/apps/details?id=jp.takke.playlistfixr
  • 注意:
    • SDカード配下の m3u ファイルを再帰的に探索し、「BOM無しのファイル」をBOM付きのUTF-8ファイルに変換します。
    • つまり「BOM無しのSJISのm3uファイル」なども強制的に先頭にUTF-8BOMを付けちゃうので注意してください。
    • 言わずもがな、自己責任でご使用下さい。

作ったときのTL

  • iSyncrで同期したのにPowerAMPで日本語名を含む曲がプレイリストに現れない事象を解決してくれる風。m3uファイルがUTF-16であるべきというのは知らなかった。⇒ https://t.co/cMfamRxd posted at 21:22:39
  • むむっ、/sdcard/external_sd/ 配下は探索してくれないのか。 posted at 21:24:51
  • 再帰的に探索してくれないということか。/mnt/sdcard/*/*.m3u は見つけるけど /mnt/sdcard/external_sd/*/*.m3u はダメ。参ったな−。 posted at 21:28:21
  • ・・・というわけでカッとなって作った。BOMなしUTF-8っぽいm3uファイルがあればBOM付きUTF-8ファイルに変換するだけのアプリ。自己責任でどうぞ⇒ http://t.co/r8xAIwLp posted at 22:39:55
  • で、変換したプレイリストをPowerAMPで読み込めた!超俺得! posted at 22:41:05