create_extm3u
kbwsr.kpi の動作確認用に名前が Z で始まる某サイトの曲データを入手しましたが、
曲番号ごとに個別に m3u が入っていて、このままだと KbMedia Player では開けない
ので1つにまとめるツールを作りました。
https://kobarin.sakura.ne.jp/kpi/create_extm3u_20240427.7z某サイトとか、何のことだか分からない人はダウンロードしても無意味です。
コマンドラインで複数の wsr ファイルを渡すことが出来ます。
コマンドプロンプトを起動してエクスプローラからファイル名をドロップする感じで
やれば良いかと思います。
フォルダ名を渡して一括で処理することも考えましたがやめておきました。
スキルのある人なら簡単にバッチファイルを作れてしまうのかもしれません。
以下、readme.txt より
【概要】
サイト名がZで始まる某サイトにある WonderSwan の曲データに含まれている NEZplug
拡張m3uファイル群を1つにまとめるツールです。
例えば foo.wsr をダウンロードするとアーカイブに複数の m3u ファイルが以下のよう
な感じで含まれています。
01 title1.m3u
foo.wsr::WSR,1,title1,length1,loop1,fade1,loopcount1
02 title2.m3u
foo.wsr::WSR,2,title2,length2,loop2,fade2,loopcount2
03 title3.m3u
foo.wsr::WSR,3,title3,length3,loop3,fade3,loopcount3
このままだと KbMedia Player で foo.wsr を開いても曲長やタイトルを取得することが
出来ません。
この場合に
foo.m3u (foo.wsr と同じ名前で拡張子が m3u)を作成して
foo.wsr::WSR,1,title1,length1,loop1,fade1,loopcount1
foo.wsr::WSR,2,title2,length2,loop2,fade2,loopcount2
foo.wsr::WSR,3,title3,length3,loop3,fade3,loopcount3
のように1つにまとめるツールです。
これにより、KbMedia Player で foo.wsr を開いたときに曲長やタイトルを取得出来る
ようになり、不要な番号の曲が表示されなくなります。
【使い方】
コマンドラインに .wsr ファイル名をフルパスで渡します。
パス名に空白を含む場合、パス名は "" で括る必要があります。
複数のファイル名を渡すことも出来ます。
例1:create_extm3u.exe "C:\wsr data\foo\aaa.wsr"
例2:create_extm3u.exe "C:\wsr data\foo\aaa.wsr" "C:\wsr data\bar\bbb.wsr"
例1 を実行すると aaa.wsr と同じフォルダに aaa.m3u を作成します。
aaa.wsr と同じフォルダに m3u ファイルが存在しない場合は何もしません。
同じフォルダに m3u が存在すれば、既に aaa.m3u が存在していても確認することなく
上書きされます。
本ツールでは元の m3u ファイルは削除しません。不要なら手動で削除して下さい。
例2 のように複数のファイル名を渡すことも出来ます。コマンドプロンプトを起動して
エクスプローラからファイル名をドロップすると簡単です。あまりたくさん渡すとコマ
ンドラインの長さの制限に引っかかる可能性があるのでほどほどの数にして下さい。
【文字コード】
某サイトにある m3u ファイルには、Shift-JIS では正しく表示されない文字が含まれて
いるもの(Copyright のマーク(0xa9)とか ,(0x2c) に似た記号(0x82)とか)が多いです。
その為、本ツールでは m3u ファイルをコードページ1252として読み込み、aaa.m3u は
BOM 付 UTF-8 で保存します。
, に似た記号(0x82)を含む場合、作成された m3u を秀丸エディタで開いて編集すると、
区切り文字としての ,(0x2c) に置換されてしまう場合があります。そうするとタイトル
や曲長等の情報が正しく取得出来なくなります。
タイトルに , を使う為にこの記号(0x82)を使ってるみたいですが、その場合は \, と書
けば良いです。
本ツールで作成した m3u は
KbMedia Player v3.12以降
foobar2000(x64) + foo_input_wsr v0.30
Winamp + in_wsr.dll
で正しい曲情報を取得出来ることを確認しています。
Winamp では in_wsr が Unicode に対応していないからなのか、元データで半角カタカ
ナのウと表示される文字(Copyright の C のマーク)が ? と表示されたりします。