<><><><><><><><><><><><><><><><><><> BMデータ圧縮作業用ツールセット (2004/03/14) ・PicSelector V1.03d ・BmsLineEditor V1.03d ・SSMaterial V1.03d 動作環境:日本語版Windows95*/98/ME/NT4*/2000*/XP      (*は動作確認してないですが、多分大丈夫だと思います。)      要VisualBasic6ランタイムライブラリ URL :http://herry.pa.land.to/bm/bmstool/ <><><><><><><><><><><><><><><><><><> ====はじめに==== 2001年秋なってようやく待望のBM98のきくちゃんバージョンの最新版、Version 3.31 DRINK EDITONがダウンロード可能になりました。このツール群はこの最新バージョンにあわせて、BMSデータを多少なりとも削減しようと作成したものです。 このツール群を作成した主な目的は2つで、これらを半自動で行います。 (1)BMPファイル→PNGファイルへの変換(画像ファイルの変換は本ツールでは行いません)、及びこれに伴うBMSファイルの変更 (2)サウンドセットフォルダの、「Material」フォルダへの集約及び、既存サウンドセット用BMSファイルの変更 注意すべき点は、上記作業によってBMSファイルを変更してしまうと、他のプレーヤや旧バージョンで演奏不能になったりエラーになったりする事があるという点です。従ってBMSデータをBM98最新バージョン以外でもよく使う場合はあまり役に立たないかもしれません。 一応、機能的には、WAV→MP3ファイルへの変更等の支援も行えるので、そのような処理で利用は可能です。 ====注意点===== ※本ソフトウェアは、無保証です。本ソフトウェアを用いた結果による損害、免失利益などについては著作者に責任はないものとします。使用者自身の責任でお使い下さい。 重要なファイルを誤って編集したりするとWindowsシステムを破壊しかねません。注意してご利用ください。 ※サポートの予定はありません。 ==インストール== 適当な場所に置いてください。 ただし、VisualBasic6.0がインストールされていない場合、以下のファイルが必要となります。Vectorなどから入手してください。 ・VisualBasic6.0ランタイムライブラリ http://www.vector.co.jp/soft/win95/util/se089073.html ※他にWindows95及びWindowsNTでは、Internet Explorer 4.0以上が必要になります。 ※また、うまく動かない場合は、新しいInternetExplorer(5.5以上)をインストールしてみてください。 ・InternetExplorer http://www.microsoft.com/japan/windows/ie/default.mspx ==アンインストール== フォルダごと削除してください。 ====使い方===== 利用するオプションなどの上でマウスカーソルを1秒ほど静止させると簡単な説明が表示されることもありますので、参考にしてください。また、実際の作業は、「manual.txt」も参考にしてみてください。 ■共通操作 ●ワイルドカード 各ツールの絞り込みでは、Windowsの検索と同様、ワイルドカード「*」「?」が利用できます。 ・*・「任意の文字列」 ・?・「任意の1文字」 ●エクスプローラからのファイル等のドロップ フォルダ指定などで、ファイルのドロップができる場合があります。 また同様に、実行ファイル本体やそのショートカットアイコンにドロップしても同様の効果があります。 ●エスケープ終了 エスケープでソフトを終了すると、状態を保存しないで終了できます。 ●その他 「BmsLineEditor」「SSMaterial」のファイル編集において、コードLFのみの改行(主にUNIX系OSで使用)は認識しないので注意してください。CRのみの改行(主にMacintoshで使用)は認識します。(うまく変更できないファイルがあり、改行コードがLFの場合は、ファイルの改行コードをCR+LFに変更すると変更できるようになることがあります。) ■個別説明 ☆PicSelector 「ターゲットフォルダ」以下にある、対象ファイルフィルタで指示したファイルに対して、同じフォルダにある、拡張子のみ「比較ファイル拡張子」に指示した拡張子のファイルと比較して、サイズの大きい方を削除します。また、対象ファイルフィルタで指示したファイルが残る場合には、比較ファイル拡張子で指示されたファイルのタイムスタンプがコピーされます。 例えば、 「比較ファイル拡張子」…・bmp 「対象ファイルフィルタ」…・「絞り込む」のみONで、絞り込み文字列「*.png」 で、実行し、指定したターゲットフォルダに以下のファイルがあったとします。 a.png 4500 byte 01/12/03 11:10 a.bmp 32800 byte 01/11/23 19:04 b.png 7422 byte 01/12/01 6:37 c.bmp 68548 byte 01/11/23 19:05 d.png 88 byte 01/12/03 11:11 d.bmp 48 byte 01/11/23 19:06 実行後は次のようになります。 a.png 4500 byte 01/11/23 19:04 b.png 7422 byte 01/12/01 6:37 c.bmp 68548 byte 01/11/23 19:05 d.bmp 48 byte 01/11/23 19:06 ○a.pngとa.bmpの比較により、サイズの大きいa.bmpは削除されました。ただし、タイムスタンプがコピーされています。 ○b.pngは、比較すべきb.bmpが無いので何もされていません。 ○c.bmpは、処理の対象ファイルになっていません。 ○d.pngとd.bmpの比較により、サイズの大きいd.pngが削除されています。 この際、「再帰処理」…ON となっていれば、ターゲットフォルダ以下のサブフォルダも同様の処理の対象になります。 ☆BmsLineEditor BMSファイルは基本的に1コマンド1ラインの構成になっています。 このソフトでは、このラインを編集することで、指定されている音ファイルなどをまとめて変更することができます。また、特定フォルダ以下にある全BMSファイルに対して同様の操作を一度に行うことができます。 操作内容は、ライン置換ルールリストに登録しておきます。置換ルールでは、ワイルドカード「*」「?」が使用可能で、BMSファイルの各行に対して上から順に判定されて行きます。あるルールが適用された場合、それ以降のルールはその行に対して適用されません。 ルールが複雑だったり多数だったりする場合は、BmsLineEditor.rulをメモ帳などで編集してしまった方が早いと思います。ルールのリストにファイルをドロップすると、ルールを取り込めます。BmsLineEditor.rulのフォーマットは、2行1組で読み込んでいるだけのシンプルなものです。適当なルールを登録した状態で終了し、BmsLineEditor.rulを開いてみればすぐにわかります。 なお、正規表現と違い*や?には位置を示す情報がないので、複雑な変換パタンは一意に解釈できなかったりして、ルールリスト登録に失敗することがあります。 その他のオプションは次の通りです。 「置換時に指定ファイルの有無をチェック」 チェック時、置換ルールが適用される際に、置換後の処理行のコマンドが #WAV,#BMP,#STAGEFILE,#MIDIFILE のいずれかだった場合に、その行の指定ファイルが処理中のファイルと同フォルダに実際に存在しているときのみ、置換を行うようになります。ファイルがない場合は置換ルールに一致していても置換されずに無視されます。 「マテリアルベースフォルダ」 使用する場合はBM98のMaterialsフォルダを指定します。 オプション「置換時に指定ファイルの有無をチェック」が有効のとき、これが指定されている(空白以外)と、置換後の処理行のコマンドが #WAV,#BMP のいずれかだった場合に、マテリアル指定を認識して、マテリアルフォルダにそのファイルがあるかどうかもチェックするようになります。 ※このフォルダ指定が間違っていると、マテリアル指定のファイルは常に存在していないファイルと判断されます。 ※フォルダを指定していない(空白にしている)場合、マテリアル指定のファイルは、"<サウンドセット名>ファイル名"のファイルとして認識されてしまい、やはり存在していないファイルと判断されます。 ☆SSMaterial マテリアルフォルダのサウンドセットフォルダと、処理するサウンドセットフォルダを指定すると、処理するサウンドセットフォルダから、マテリアルのサウンドセットフォルダにあるのと同じ名前のファイルを削除します。(同期削除) また、この削除に合わせて、処理するサウンドセットフォルダ内のBMSファイルの #WAV,#BMP 指定ファイルのうち、マテリアルのサウンドセットに存在しているファイルに対して、<>で示されるマテリアル指定を追加します。(マテリアル変換) ただし、マテリアルフォルダの指定方法と、再帰処理の有無によって、多少動作が異なります。ちょいややこしいですが、一応妥当な処理だと思われます…。(3)はあまり使う機会がないかもしれません。 (1)マテリアルベースフォルダ選択、再帰処理あり この場合、ソースフォルダにはBM98のMaterialsフォルダを指定します。 ターゲットフォルダに指定したフォルダ以下の全フォルダについて(指定しているフォルダ自身も含む)、ソースフォルダにある全サウンドセットフォルダと名前が同じかどうかを調べ、もし該当するサウンドセットフォルダがあれば、その組み合わせで、同期削除、マテリアル変換の作業を行います。処理が行われると、行われたフォルダ以下のフォルダに関しては無視されます。 このオプション状態は全BMSデータに対して一気に処理する際利用します。 (2)マテリアルベースフォルダ選択、再帰処理なし この場合、ソースフォルダにはBM98のMaterialsフォルダを指定します。 ターゲットフォルダに指定したフォルダについて、ソースフォルダにある全サウンドセットフォルダと名前が同じかどうかを調べ、もし該当するサウンドセットフォルダがあれば、その組み合わせで、同期削除、マテリアル変換の作業を行います。 (3)マテリアルサウンドセットフォルダ選択、再帰処理あり この場合、ソースフォルダにはBM98のMaterialsフォルダにある、特定のサウンドセットフォルダを指定します。 ターゲットフォルダに指定したフォルダ以下の全フォルダについて(指定しているフォルダ自身も含む)、ソースフォルダに指定したサウンドセットフォルダと名前が同じかどうかを調べ、もし該当している場合に、その組み合わせで、同期削除、マテリアル変換の作業を行います。(1)と同様、処理が行われると、行われたフォルダ以下のフォルダに関しては無視されます。 (4)マテリアルサウンドセットフォルダ選択、再帰処理なし この場合、ソースフォルダにはBM98のMaterialsフォルダにある、特定のサウンドセットフォルダを指定します。 ターゲットフォルダに指定したフォルダとソースフォルダに指定したサウンドセットフォルダの組み合わせで、同期削除、マテリアル変換の作業を行います。 ====更新履歴==== Ver1.03c,d(2004/03/14) ・インターフェース周りをやや変更。(エクスプローラを現在のフォルダで開くように変更、処理中ダイアログ表示内容を変更、「SSMaterial」と「BMSLineEditor」のコンボボックスの操作性向上等。処理内容自体の変更はなし。) ・その他内部修正。 Ver1.03b(2004/03/01,02) ・「SSMaterial」のフォルダセレクト用のコンボボックスが、条件によってはうまく機能していなかった問題を修正。(フォルダに移動できない場合があった) ・処理中使用のダイアログを最小化できるように変更した。(やっぱり邪魔) ・一部入力文字列検査等を変更した。 ・若干動作が早くなったかも。 Ver1.03(2004/02/22) ・「SSMaterial」にフォルダセレクト用のコンボボックスを追加。 ・その他微修正。若干動作が速くなったかも。 Ver1.02c(2003/11/21) ・パスを指定するテキストボックスで全選択(CTRL+A)をすると問題が起きていた問題を修正。 Ver1.02b(2003/06/21) ・起動時、iniファイルに保存されているターゲットフォルダを正しく復元できなかった問題を修正。 Ver1.02(2002/09/24) ・ショートカットドロップの際、ショートカットによっては異常終了していた問題を修正。 ・パス指定などで、制御文字(改行、タブなど、コピーアンドペーストなどで書き込める)が含まれている場合に異常終了することがあったのを修正。 ・処理を全てロングファイルネームで行うようにした。(本体やそのショートカットにファイルをドロップして起動の際など。) ・UNCファイルパス(ネットワーク先コンピューターへのアクセス)に仮に対応。個人的に需要がないのであまり真面目に実装してません。 ・その他内部修正。