doubledepth http://hk-tm.hp.infoseek.co.jp/
hitkey0801[at]hotmail.com
web clap



3月28日(日)

出掛けにあわてて更新
>>そもそも他の方の環境で再現するんだろうか
>再現というか、
>もともと 10〜14.ogg があって、
>かつそれが #WAV10〜14 以後にあると、
>上から変換していった結果ファイル名がダブって変換できないってことじゃないかなあ
>作者じゃないからそれ以上は何とも言えないけど

ウワアー俺うかつすぎる・・・ 元々のファイル名みのがしてた!! そんな感じっぽい気がします、ご指摘ありがとうございました!
(しかもよくよく考えてみたら、それ BMSE 非公式ヘルプに載ってた・・・ 自分で調べたこと忘れてるとか・・・)
上から順々に変換しちゃうと多重定義とかで困りそうだし、ファイル名と定義を全部みてから変換してるのかな? もちろん想像ですけど。

○bmx2wav 1.0.8
ついさっきリリースに気付いた。 なんかコンプレッサー搭載するとかしないとか、凄い話になってますね・・・ 果ては譜面ミキサー!?
基本的には 「餅は餅屋」 かなあと思いますけど、譜面におけるチャンネルや範囲小節まで個別に指定できる感じなら大革命の予感も。
しかしそこまでいくと 「指定範囲を wav 化して音編集ソフトに投げる」 みたいな形のほうが向いてるような・・・ それって BmrF のような・・・
専門化方向よりは bmx2mp3 みたいな手軽さのほうが需要ありそうな気もしますが、よくわかりません (単体変換なら LR2 で可能)

○ woslicer でググったら
凄いサイトがひっかかった! 応援してます。


3月27日(夜)

しばらく更新停止します。 4月中旬あたりに戻ってこれるといいな的な感じ

○BMSE
変換ウィザード 「ファイル名を連番に変換」 できない場合があるけど、条件がわからないー
1. "Ein Garten fur Orpheus" をダウンロードする
2. いちおう作品フォルダをコピーして、そっちで作業する (ファイル名を変更しちゃうので)
3. 空の新規譜面つくったうえで BMSE で開く → 全 ogg を選択 → BMSE の定義リストに一括ドロップ定義 → いちおう保存
4. メインパネルが空の状態のまま、ファイル → 変換ウィザード → 「ファイル名を連番に変換」 を実行
5. #WAV10 〜 #WAV14 までの定義アイテムが変換されない。 まあ、もっぺん変換実行すれば漏れた分もリネームされるけど・・・

同じ現象が発生する作品は、ありそうだけどまだ他に見つけてない。 BMS List Sorter で、#wav10-14 に定義されてた部分だけズラすと、今度は新しく #wav10-14 におさまった音だけがリネームから漏れる。 ということは、定義の内容は関係なさそう? では定義数かファイル名が原因だろうか。
そもそも他の方の環境で再現するんだろうか。 俺の手には余るので、どなたか詳しい方が解明してくださることを祈ります


3月27日(朝)

>ogg 系統で、すさまじく仕様過ぎて困ってます。^^; *桜為
譜面再生開始小節より以前の位置から鳴っている音も経過分を計算して鳴らす要望についてでしょうか、需要はものすごく理解できる機能ですが、hsp(?) や dll(?) の仕様でしたら、しようがない、というのもものすごく理解できる気がします。 というわけで、あまり桜為さんを困らせないよう、長尺 wav 地帯は uBMplay でプレビューしましょう〜 (

といいつつバグ追加報告。 なんかごめんなさい・・; 後者は仕様でもいっこうに困らないレベルですが、たまにクソ長いLNとかもあるので
・小節線をまたぐ ch51-69 型LNは、鳴るはずの音が他の音に化けがち。 #LNOBJ だとそういうことはなく、正常に鳴るようです。
・小節線をまたぐLNの、始点と終点に割り込む位置から 「途中再生」 を開始したとき、そのLNは表示されず、鳴りません。
あと、タイトルバーに譜面の #TITLE かファイル名が表示されるといいかなとか。 クリックしたくないモノグサ野郎が勝手にオプション画面すっとばしても、最低限の曲情報は確認できる、PMSV がバックグラウンドでもタスクバーから判別できる、みたいな。 要望というほどでもない、単なる案でした。

○BMSE
hi-low さんが即死バグ書かれてた ので、バグリスト にこっそり拝借。 これはでも BMSE には何ひとつ責任ない気もしますが。。
bmse フォルダの error.txt を眺めてたら、2008/12/15 にこれとそっくりなバグが記録されてました。 全然記憶にないけど、たぶん外部ソフト由来のクリップボード絡みのバグは他にもある/あったような気がします。
あと発生条件がまだよくわからないけど、忘れないうちにメモ。 変換ウィザードで、たまに 「ファイル名を連番に変換」 できない場合があり。
#WAV10 〜 #WAV14 だけなぜか漏れる・・・ 定義数が 16進数に収まらない量のファイルを登録すると発生、とかかな・・・? 後で確認しよ


3月26日(2)

>>・・・以上の手順で、BMSE 即死バグが再現するでしょうか?
>やってみたものの20分程度放置で再現しませんでした

ご親切にお手数さいていただき、ありがとうございました!
変更フラグが立っている状態、かつ 「BMSE 以外に音声デバイスを使ってない状態」 で放置しても再現しないでしょうか?
であれば、えーと Ogg Codecs とか、ハードの問題かなあ・・・

>>100228-2 [1.3.0] 曲途中再生時, それまで鳴ってたはずの音も鳴らしてほしい
>便乗!^^
>主にボーカルものとか (作品の) 供給と (機能の) 需要は高いと思うんです!!

便乗された! そうそう、ボーカルものとかは長い音を使わざるを得ないのですよね〜
この機能を有した uBMplay の登場によって、長尺波形を含む作品の譜面編集効率が 劇的に改善された のは実感としてあります。
用途によって uBMplay と PMSV を切り替えて使えば済む話ではありますが、pms 譜面作成が PMSV 一本で済むならそれにこしたことはなく。
かなりの需要が見込まれる機能であることは間違いないので、桜為さんのお気が向いたらご一考いただければと思いますー。

○PMSV v1.3.1
スクロールオブジェの精度が完璧になりました!!! 掛け値なく喜ばしいです、ありがとうございました!!
・すげえどうでもいいことではありますが、#STOP による停止時のレーザー表示が、#exBPM のそれに比べるとなんか変かも。
・無効な引数を指定すると、今度は固まるようになりました。
・再生開始位置の小節線ラインの真上にあるオブジェが表示されず、また start.wav と同時に鳴ってしまうようです。
・ch11-29 の真上にある ch51-69 が表示されません。 "Deadmans" の 5.bms の演奏 obj 数は、分子は合うけど分母は 499 が正しいです。
まとめ にも急ぎ加筆しておきましたー


3月26日(金)

○PMSV
最ッ低限だけ まとめ追いつきました、けど見づらいし洩れがあると思うし勘違いもあると思います。 ご容赦!
BPM/STOP はすくなくとも前みたく力尽きて無視されるようなことはなくなりました。
ああ・・・ 次はエディターモードだ・・・

○BMSE
再現できるバグらしきものを見つけたけど、自分の環境が物凄く疑わしいので、ここ見てくださってる方にもお聞きしたいです。
1. 適当な譜面を開く。
2. オブジェ配置をどこか適当に変更する。 変更するだけで保存はしない。
3. この状態のまま放置。 BMSE ウィンドウに触りさえしなければ、普通にネットサーフィンとかしててオッケーです。
4. 約十分後、BMSE が突然落ちる。 バックアップは生成されない。
・・・以上の手順で、BMSE 即死バグが再現するでしょうか?


3月25日(夜)

○PMSV
再点検が追いつかないので、新規バグだけとりあえずメモ。 無効な引数が混じってるとエラーコード12が出ますー

○nujabes 追悼
STR のブログで roop さんが mp3 をアップしておられます。 必聴。 声ネタに battlecry とか。

5vs7
bms イベント。 gif アニメはもうちょい軽くなるけど (gimp gif 最適化 でゲゲル)、いまや 4〜500KB なんてどうでもいい時代だった
5鍵盤に収めづらい構造の曲は7鍵盤が向いてるんじゃないか、くらいしか考えてないなー
あとかっこいい同時押しは5鍵の特権、と思ったけど7鍵もラインハーフ表示はできるんだよなー隣接がうっといだけで


3月25日(朝)

やべええええ時間ねええええええ
>>しかしテクノロジー方面は、自分には全然思いつかないなあ・・・
>技術を売りにしている間は成熟期とはいえないってえらい人が言ってた!
http://www.4gamer.net/games/095/G009544/20090825047/

技術は進歩しなきゃ当然ダメ、しかもそれだけじゃコケる、と仰ってますね、ハードルたかすなぁ>< しかしこのお話おもろいっすね!
>>192000
>あまり記憶が正確ではないですが、これはもしかしたら L のためにカスタマイズした仕様かもしれないですね。
>一つずつオブジェをデバッグして正確に分解できていることを確かめたような気が・・・。気のせいかも・・・。

まじっすか!!!!! あのてきとうな羅列を!!!! ひとつずつ確認とな!!! や、Hayana さんならありうる話とは思いますが・・・
とにかくまじでバグが見つからないソフトなので、相当丁寧にチェックされたのだろうなと思います。 脱帽もの。
>>完走確認は無駄ではないと思うので、
>無駄だと思います!

やってみなけりゃわからない!!!! でも俺はやりません!!!!
>>Sofa 170番の真実
>しょーもない真実ですが、超高速から超低速へのソフランがプレイごとに不安定になるところでしたー。
>なんだか壮大な真実を期待されていたようで申し訳ない!

あいや、そこは自分にもかろうじて把握できてたとこなのでホッとしました!

○もしかすると一覧表という形でざっくりまとめたことで誤解を招いていたかもしれないと思ったので
いちおうあらためて書いときます。 ○△×っていうのはあくまで便宜的な表記で、それがソフトの評価と直結してるわけじゃないです
たとえば uBMplay はフリースクラッチチャンネルを解釈しませんが、だから何、みたいな。 nanasi や nazo や fgt++ は超高速スクロール中はスクロールオブジェの解釈が変になる場合がありますが、それで困るのはよっぽどのクソ譜面だけで、普通はまったく影響ないわけです・・・ あ、"その動画、boleroかもな。知らないのか?" がクソ譜面っていいたいわけじゃないですよ! 神譜面ですよ!?
ともかく、一介の無知なユーザが勝手にまとめた資料として、あくまで参考程度に眺めていただければと、そう思います。

○PMSV
いやああー間に合いませんでした、すみません・・・ まずうまく一覧できる形を思いつかなくて・・・ 途中ですが こんな感じで進んでます
で、これをまとめきって確認し終えたらエディターズモードでもひととおり確認、バージョン上がるごとにまた全確認、という感じでコリャヤベエヤ状態だったので、ある程度テストを自動化できるような差分パック作る予定でした、最初は。 しかし整理整頓する余力がなく頓挫。
修正済みバグも全部確認したほうがいいかなと思ったのは、ソースが一新されて中身がだいぶ変わったらしいからで。 じっさい、#comment を引用符で括ってなくても文字が化けなくなる修正点とか、今回再確認中はじめて気付きましたし。 いつ直ったのか把握できてねー俺ヨワス
#STOP の定義域とかなかなか調べづらい部分だったので、仕様がある程度公開されたのは超ありがたいです。 どっちみち自分で確認はするわけですが、手探りよりは大分ラクですから・・・ というわけで、だいぶ遅れてますが数日中にリスト埋められればと思います。


3月24日(朝)

>#BACKBMPに関してはスキン側指定です。 *桜為
ああ、これは自分では絶対に気付けなかったたぐいの情報だ・・・! ありがとうございます! 本体仕様表を修正しておきましたー
ぽみゅスキン定義書はパラ見してたけど (貴重な資料ありがとうございます!)、普通に見落としてました、吊ってきます。 以下俺用抜粋
BACKBMP : 現在読まれているBMSに#BACKBMPの指定がある場合のみこの行で定義されたパーツは表示されます。
NOTBACKBMP : 現在読まれているBMSに#BACKBMPの指定が無い場合のみこの行で定義されたパーツは表示されます。
普段 bms メインの俺が戸惑ったのが、「#WAV や #BMP のように、『現在読まれている作品フォルダ』 から #STAGEFILE や #BACKBMP ファイルを参照することはできないのだろうか?」 という点でした。 このへんはあくまで固定スキンとして扱われるのかなーと。
固定ならふつうに、たとえば cc2_ver.1.00.cfs の 1683 行目あたりを
#DEFSTARTBACK(BACKBMP)\t(COPY[NORMAL])\t(CG,LOAD[../../Bms/Colorful Channel/ビゴーンREMIX/begoneremix_bg.png])
とか書き換えればいけるんですが、、、 User\Back\Fps_Back.txt が効いてない気がするのは、デフォルトスキンじゃないからかしら?
あんまりまじめに中身みてないので、そこらへんがよくわからないのでした。 変数や正規表現でパス指定できるのかもしれませんが。
ともかくスキンの条件として使える (= #BACKBMP が解釈されてる) ことは把握しましたです。

PMSV v1.3.0
ソース大幅整理おつかれさまです! "Are you ready?" にはぶっとびました!
しかしうおーほんとに不安定!; 特に BPM 変更が! 安定版的に過去バージョンもDLできるとありがたいかなーとちょっと思いました。
分岐は Sofa は何を選んでも一緒っぽいとか、ゆめにっきEXは64番選んだら空になりましたとか、まだ細かい部分まで手が回ってない感があったので安定する日を気長にお待ちしてますー。 モードが違うとバグも違ったりするので、こちらも調べるのがなかなか追いつかない・・・;
まとめられれば今夜あたりバグまとめてみようと思います。

bmx2wav 1.0.8 お試し版
折り返しノイズ除去きた!!! 自分の耳では 11k -> 44k のときに微かに効いてるような効いてないような微妙な感じでしたが偉大なる一歩!!
ノイズが気になる方はもしかして、折り返しノイズっていうか8ビットノイズが気になってるのかな、もしそうであれば audacity とかで事前除去したほうが耳にハッキリわかる効果あるんじゃないかな、とは思ったけど見知らぬ名無しさんこわいので黙ってます。 >おまえそればっかなー
「#000 の先頭のみにオブジェがある BMS が変換できなかったのを修正」 とあって喜んでベンチマーク表を修正した後で確認したら落ちました!?


3月23日(火)

>拡張子無視といえば ごけび のTETRINET
ですね! あと他にも拡張子偽装しまくった作品をどっかで見かけた記憶がありますねー
あのへんは 「譜面内の定義名」 と 「実際のファイル名」 はイコールだったので、「名前が完全一致したファイルの中身がちゃんと音声なのかどうか」 まで見てくれるソフトであれば、問題なく再生可能でした。 ただし、定義名とファイル名で拡張子部分が異なっていた場合、そのファイルはそもそも検索されない可能性があります。 検索範囲はソフトによるけどたとえば LR2 なら、XX.bmp を #WAV に定義しても検索してくれますし、XX.bmp の中身が実際に音声ファイルであれば、ちゃんと鳴らしてくれます。 でも XX......fooon なんてファイルは、中身が音声でも #WAV 定義が XX.bmp の場合は検索してくれません。 uBMplay は微妙に根本的に異なっていて、拡張子をはなからアテにしてないので超オッケーです。 詳細はのちほど

>> bmx2wav、変換ログに [Tab] でフォーカスすると自動的に全文選択される。
>あれー?そんな風に作ったつもりは無かったが、Windows の作りがそうなってるみたい。やったね、たえちゃん!

なんという現代の涙あふれるファンタジー!! [Ctrl + Home] → [Ctrl + Shift + End] とかしなくて済んで助かりました! よろしくねコロちゃん!
>調査お疲れっす。しかし 糞譜面 ベンチマーク譜面の結果は bmx2wav は優秀だなあ(自画自賛)
最近のソフトはいずれも譜面解釈力が高く、あとは細かい解釈の違いだけ的な状況ですが、とりわけ uBMplay / LR2 / bmx2wav は優秀です!
>オートメーション工場の2番目が?
表現わかりにくかったので直しました! ええ、以前ひっかかった ura_63..wav の話でして、ここだけ抜き出して試したら鳴っていたという。
>今言ってる拡張子部分の話ですか。 流石にこれは…TE☆NU☆KI☆?
前半は Yes!Yes!Yes! です! 後半は いやいやいやいや! 詳しくはのちほど!
>分解能 192000 は流石に無理ぽだなあ…
4/4 拍子1小節の 192000 等分、初代 BM98 の1000倍の解像度ってことですもんね・・・ じつはこれについても驚くべき展開があるのですが・・・
>ninth の TN ってなんだろう?
アッーごめんなさいッ、たぶんBMローカル用語だと思いますが配慮なしに使ってしまいました!; Total Notes, 演奏オブジェ数のことでした!
つまり定義番号として不正な文字群をどう解釈するかっていう、その部分になんかいろいろソフトごとに違いがあるみたいで。
>木魚は WAV ファイルにするのが不可能だわぁ。WAV ファイルのフォーマット的にね。
常識的に不可能なのはなんとなくわかります! フォーマットっていうと、ええと4ギガ制限でしたっけ・・・? そのへん全然わからない・・・
Wave64 なんてのがあるみたいで、64ビットだとギガどころかテラもペタも超えてエクサバイト? もう喋るな? 話が噛み合わねえ?
木魚は鐘の音を15秒に1回鳴らすペースで 1022976 回ループ指定できれば用足れり、な気もするけど、そんな音声フォーマットぼく知りません

あっあと bmx2wav のバグというか 「そんな無意味なことすんな」 って感じのあれですけど、譜面が 「#000 の1拍目に演奏オブジェが1個のみ」 だった場合、有効な音声ファイルねーぞっていわれます。
#000 絡みだと、fgt++, pomu2 もなんか気になる点があったので、ベンチマーク表に追加しておきましたー

>>ubm のファイル読み込みルール
>まず定義どおりのファイル名で検索し、見つからなければ拡張子を任意に検索して引っかかった順に読み込みを行い、読み込みが成功した段階で検索を終了します。
>つまりファイル名被りがあった時に誤爆する可能性は十分にありえます。
>ただし hitkey 先生が言うように自分も問題ないと判断しました。

詳細な解説ありがとうございます!! なるほどそういった仕組みだったのですねー
潜在的な誤爆可能性は .ogg のそれと同程度にあるけど、bms 作品が通常のファイル構成であれば、現実的には杞憂だよ、ってことですよね。
定義とファイル名の違いを吸収するタイプの最終形態というか、各 bms ヘッダごとに適合ファイルを完璧に判定できてるからこそだなあと思いました。
>>uBMplay は解釈力がありすぎて〜
>それは危惧したのですが、ツールが表現の足を引っ張るようではいけないと思っていたので、できるだけ最大限に対応してあります。
>というのはタテマエで、単にやってみたかったからやっただけです。どうせクソ譜面にしか役に立たないので観賞用にピッタリ!

いやいやいや作家さん全員 uBMplay 使ってるはずですし!!! いつもながらグサッときた感があり、タテマエはまじめに受け止めました。
uBMplay がうるさくエラー出すソフトだったら、実際ここまで普及はしなかったと思います。
>>>もうまるで譜面作者とソフト作者の戦争だなあ…
>事の是非はさておき、クソ譜面に対応することで ubm の再生精度が上がっていったのは事実。
>F1 で築き上げたテクノロジーは一般の乗用車にも応用できるということがこれで証明された! (うそ)

あああ、数日前にいただいたコメントはそういう文脈だったのか!; てっきり俺のキモい粘着ぶりを指摘されたのかと・・・ まさに自意識過剰・・・
あらためて、まさに技術開発競争そのものだと思います。 すくなくとも譜面解釈性能においては、いまだに uBMplay が単独首位を独走中ですし。
しかしテクノロジー方面は、自分には全然思いつかないなあ・・・ うーん現在における譜面技術開発・・・ ユニコードとかかなぁ・・・

>>ベンチマーク
>ubm の分解能はきっかり 192000 らしいので L には対応できているのではないかと思います。
>木魚 AllCenturyMix は・・・誰か計測してください (笑)
>理論上は問題なく再生できるはず。記憶によれば999小節目の再生&終了は確認済み。
>ninth403 はややトータルノーツ少なめですね・・・nazo にあわせたつもりだったんですが!

192000 きてた!! なんか誰も知らない部分でムーアの法則が発動してた感じ! 譜面が 4/4 拍子だけなら小節を最大 192000 等分できるってことですよね? 1行 384008 字とか入力できるエディタが僕にありませんけど、これは確実に将来的に表現の自由度に貢献してると思います。
木魚はインターネットランキングに登録することすら不可能に近いアホな譜面ですが、完走確認は無駄ではないと思うので、ほんとどなたか、潤沢なスペックのサブPCをお持ちで177日間電源つけっぱなしできるような方、テストお願いします!!!?
ninth403 はあれ、俺の超ボロいPCでの結果ですからあんまりアテにはならないですけど、LR2の nazo 近似っぷりがヤバいです。
つまりあれって、ほぼ完璧に nazo の 「不正な定義番号まわりの処理のアルゴリズム (?)」 をシミュレートできてるってことですよね・・・ (たぶん)

>>Sofa 170番の真実
>第一のヒントというのはやや思わせぶりすぎましたが、170番だけ抜き出して nazo で5〜6回オートプレイさせてみるといいかも。

さらなるヒント、心苦しくもありがとうございます!
抜き出しは当然やってたのですが、nazo で何度もっていうのが盲点でした。 さっそく20回くらいやってみたけど、よくわからない・・・
nazo や fgt++ など、たぶん分解能が控えめなソフトの場合、超高速スクロール中だと他のスクロールオブジェをスルーすることはよくあるけど、これじゃないですよね・・・ えーなんだろ、Glasopal パッチ適用してると再現しなかったりするのかしら・・・


3月22日(月)

ベンチマーク埋めました
・今まで知らなかったけど uBMplay だけは、定義名の名前部分 (ピリオド以前の部分) さえ合ってれば、拡張子はまったく問わずにファイルを探す
・具体的には こんな定義名・ファイル名 でも鳴らしてくれる (ただしいまのところ uBMplay でしか鳴らない)
・名前部分が同じで拡張子部分が異なる、音も異なるファイルがあった場合、どっちを鳴らすんだろう? 後から読み込んだほうかしら
・これ危なくないかなあ・・・ なんとなく・・・
・けどそれをいったら、定義が XX.wav のときファイル XX.ogg を探すのも同じことなので、問題ねんじゃねという自分結論に達した
・しいていえば uBMplay は解釈力がありすぎて、譜面制作上のミスに気付けない可能性があることくらい (LR2もそう)
・しいていわなければLR2で顕在化しないミスなんかミスのうちに入らない。 みんなインターネットエクスプローラ使ってる韓国大勝利

・あれ、ruv-it! の逆再生の不具合、譜面による? u9 だと Esc で抜けられる・・・ バグの半分以上は俺の気のせいという恐怖
・bmx2wav、変換ログに [Tab] でフォーカスすると自動的に全文選択される。 今日いきなりめちゃくちゃ役立ちまくって大感謝!!!
・bms2wav、"L" の変換で気付いた、ナナシ拡張 #OPTION は重複可能なので、エラー扱いはびびるかも。 でも変換に影響ないしいっかー

・pms 関係で危なそうなのをメモ
・pomu2, #STOP の未定義番号オブジェにぶつかると永遠に止まる ("U9" の最後とか) 拡張 BPM 変更も危ないかも?
・pomu2, ベンチマーク譜面は選曲カーソル合わせようとした時点でだいたい固まる
・PMSV, 未対応形式の音声を読み込むと落ちる
・PMSV, "L" や "L999999..." など、たぶん分解能的にやばい譜面を読み込むとエラーコード7?


3月21日(日)

4月からまたしばらく更新お休みします。 その前にバグのテストとかひととおり整理したい。
>もうまるで譜面作者とソフト作者の戦争だなあ…
そのつもりはなかったし、そもそも勝負になってないのですが、そういう見え方してたならやばいなー反省しました;
>bms benchmark のLR2列の○とLR2と書いてある所の差の解説をお願いします
まだ調べてないっす! という意味でしたが、いつもどおり自己完結しすぎだったので補足しておきましたー
"Sofa" だけは大雑把に埋めておきました。 他を埋めるのは時間的にちょっと苦しいかも、あんまりアテにしないでくださいね;

どんどん脱線というか、他のソフトのバグまで出てきて収集つかなくなりつつあります。 まじで早く整理しないとオレ絶対忘れる
・LR2 は D&D 起動だとどうも必ず乱数が同じになるようで、分岐譜面を試すのがめんどくさい
・ruv-it!、不可視オブジェが ch49 以外まったく効いてないような気がする。 不可視がある箇所では判定もおかしい気がする、FAILED とか出る
・ruv-it!、負数 BPM で逆流時、通常オブジェもLNも全部表示しながら巻き戻るという無駄に情熱的なこだわり。 しかし逆流中 Esc 効かねえ

○bmx2wav 1.0.7
キーボードでのフォーカス移動が超簡単になりました! ありがとうございました! 違うバージョンのソースを比較できるのは超おいしいです。
負数ストップの独自解釈は、負数ストップ区間内にあるオブジェすべてを、指定時間分だけ相対的に早めの位置に書き出す感じ。 説明ヘタすぎ;
uBMplay や fgt++ で起こりえた 「スキップ区間内オブジェがすべて同時に再生されて耳破壊」 は、bmx2wav では発生しません。 yatta!!


3月20日(夜)

>bmx2wav のログをテキストに出したいみたいですが、実装は楽なんでいいんですけど、使い道がイマイチイメージ出来なかったですねぇ。お・し・え・て(はぁと
以下は 「それこそ他のソフトの仕事だよなーボツ!」 な案ですけど・・・ たとえば BOF2009 は全207作品、譜面800枚以上ありまして。
この規模になると全作品プレイするだけでも膨大な時間がかかるので、インプレ以前の不具合報告 くらいは横着したく。
(1) まず全作品をDLしておく。
(2) お出かけ前、BOF2009 フォルダ以下の全譜面を bmx2wav で「エラーでも構わず吐いちまうんだぜ」 設定で一括変換。
(3) 帰宅すると、数十ギガの wav 群と、2メガくらいの bmx2wav_20090929-1.txt ができている。 (ということにしておく。 仮に)
(4) ログからエラー行を抜き出して眺めれば、「内容はないようだがスピードがいのち」 系の "とりあえず投稿" のネタはできる。
(5) 上のアーカイブに hnb.ogg が入ってないっすー とか 神曲なのに意図どおりに鳴ってないようですー とかご報告にあがる。
・・・ 自動ログ出力とかはご覧のとおり妄想全開なので、聞き流していただければ・・・ むしろ忘れていただければ・・・
そんな大それた機能でなくとも、現在の変換ログで Ctrl + A できるようになれば、もうそれで自分的には万々歳っす。

>あと、UI のタブでの移動や Alt + 英字 で移動するのは、色々と調べた結論だけ言うと、OS レベルでの機能は存在していないっぽくて自前で実装が必要っぽくて、それは大変っぽいなあと。まあ、使ってる技術が古いですかなねぇ。色々調べられて時間を無駄にしてもアレなんで
もちろん見合わない案はさっくり一蹴いただければ! 俺の時間なんか屁ですけど、TEM さんの時間泥棒と化すことに罪の意識を感じてやまず、
>さっきのTabでの移動の件だけど、2chのおにーさま方に聞いたらできるっぽいのでやるよー。以前からやりたかったんだよぉぽぽぽ
ちょっすげええええ迅速っすね!? ああそうか、2ch で訊く手もあるのか・・・
ともかくマウス触らなくて済むのはありがたいです! CUI 使えよ感もありますが! わかんねんだよ! 楽しみ! 勉強させていただきます!

>せっかくなので探してきました。 (以下 URL)
せっかくなのでまとめてみました。 ありがとうございます!!!!!
>>Sofa 170番の真実
>改行コード発見おめでとうございます!
>ちなみに本人を問い詰めたところ「何それ?」と言われたので、どうも意図したものではないらしい。偶然って怖い!

「そんな 偶然が あるかあっ」 と思ったけど、もしかして OS9 以前の Macintosh とかで作られたのかな?
といいますか、第一のヒントということは他にもトラップがあったりするんでしょうか・・・

○PMSV
総ざらい予定だけど時間たりないのでまた後日に!;


3月20日(朝)

>ubm は神ビューワというよりクソ譜面ビューワといった方が正確かもしれない!
そふぁだらU9LL9999999999999^99999999999糞mt
ninth -forbidden story-「韓国」について木魚AllCenturyMix・・・ 何もかもが懐かしい・・・

半分くらい知らねえ! klimt は元 bms もう持ってねえ! 木魚は存在すら知らねえ!!
"『韓国』について" は昔 "ninth" の nazoIR で見かけたような。 テキストで開いたらドアラくんだかミッ○キーだかが出てきた記憶が。
そんなもんまで解釈できるビューワは神以外のなにものでもありません
>>Sofa 170番の真実
>第一のヒントは「改行コード」だ!

試しにそふぁだらを メモ帳 で開いたら、#IF 52 の #ENDIF の末尾で我が目を疑った
譜面をバイナリエディタなんかで開いたのは初めてだお・・・ ともかく該当部分は "0D 0A 0A" となっている。
これ、改行コードが CR+LF と LF の連続? それとも CR / LF / LF という3個連続? よくわかりませんがとにかくなんか変ですね!
おそらく、こういった 改行コードの混在を考慮してない bms ソフトは誤解釈しうる のかな、とは想像できました。
いやああああしっかしどこもかしこも罠だらけ・・・ 突っ込みたくて仕方が無いけど我慢だ!! なんてひどいヤッダーバァ

・・・ ふと思ったんですが上記で挙げられたような性悪譜面群、開発者さんらにとっては格好の (?) サンプルケースたりうるかもですねー


3月19日(金)

>ねぇねぇ、BPM 空指定で落ちるバグ直ってないけど
>今どんな気持ち?

        ∩___∩                     ∩___∩
    ♪   | ノ ⌒  ⌒ヽハッ    __ _,, -ー ,,    ハッ   / ⌒  ⌒ 丶|    >あと、負数ストップ指定が意図通りじゃないけど
        /  (●)  (●)  ハッ   (/   "つ`..,:  ハッ (●)  (●) 丶     >今、どんな気持ち?
       |     ( _●_) ミ    :/       :::::i:.   ミ (_●_ )    |        >ねぇ、どんな気持ち?
 ___ 彡     |∪| ミ    :i        ─::!,,    ミ、 |∪|    、彡____
 ヽ___       ヽノ、`\     ヽ.....::::::::: ::::ij(_::●   / ヽノ     ___/
       /  tem   /ヽ <   r "     .r ミノ~.    〉 /\ tem 丶
      /      /    ̄   :|::|    ::::| :::i ゚。     ̄♪   \    丶
     /     /    ♪    :|::| TEM  ::::| :::|:            \   丶
     (_ ⌒丶...        :` |    ::::| :::|_:           /⌒_)
      | /ヽ }.          :.,'    ::(  :::}            } ヘ /
        し  )).         ::i      `.-‐"             J´((
          ソ  トントン                             ソ  トントン

いやいやいやいや
>あと、[Tab]でフォーカス移動とか(&A)とか表示してあるのに飛ぶのは以前やろうとして資料がねーから放置していたんで今のライブラリじゃ出来にゃいかも。フォーカス移動だけなら関数呼ぶだけだから−、あーめんどいから次からそう実装しておくぷぷー。
>つか、はい今実装した!今君の仕様を実装したよ!

ぎゃーなんか神速ですみません・・・!
変換という目的とまっったく関係ないので、私的改造カテゴリにしてたのです・・・ たぶん UI が固まってからのほうがフォーカス移動順とかアクセスキーとかは都合よさそうだし、いまこんな要望するのもどうなのって気がしたので。 しかしなんというかありがとうございます!;

昨日は素でタイプミスしてた。 ナナシ拡張 #EXWAVxx n は #EXBPMxx n の間違い!! wav 定位音量音程定義なんか俺の手には負えねー
#EXBPM を拡張 BPM 変更と同じものとみなす、ということがやりたくて、とりあえず "WAV" "BMP" "BPM" "STOP" が並んでるところ全部に "BPM" のぶんをコピペして流用。 もちろんだめだった

以下、ちょっと時間ないので簡易メモ
・[PMSV] 以前挙げた これ、今度は途中でエラーコード7で落ちる
・[PMSV v1.2.0] エディターズモード!!!!?
・[BMSE] ↑を開いてビューワ呼ぶと保存エラー → 値が連番に書き換わる。 そういえば一時ファイル ___bmse_temp.bms も保存の一種かー
・[bmx2wav] ぐぐったら クレクレ板変換例 が出てきた。 In_BM 1.xx のただしい生かし方
・「詳細ログを消す」 という表現でいっしゅん焦る。 「詳細ログを隠す」 のほうが、ログ消去という誤解を避けられるかも
・というか変換ログの書式しだいでは、ログをテキストに貯められると、ある種のインプレの支援にな・・・ らないか (思いつきレベルでボツ)
・WAV や分岐の行番号表示によるものなのか、特定の bms では変換速度が低下? 気のせいかも
・[BMRR] BMS List Sorter の複数行移動があると便利かも。 「BMSE で後からバラで多重定義 → 変換ウィザード」 のほうが早そうだけど・・・
こういうの を作るのに便利、と思いきや一度に10行分までしか登録できないのかーざんねん


3月18日(木)

○PMSV v1.1.7
最近のソフト (この表 でいう上半分) は ch51-69 と #LNOBJ xx を併用可能 と書いたけど、pomu2 だけは例外 でした、すみません!!;;;
pomu2 は #LNOBJ 宣言があると、ch51-69 のLN1本を、始端と終端で計2個の通常オブジェに置き換えるようです。 本当にごめんなさい・・・;
なぜか コレ でエラーコード7が。 だんだんどのバグが直ってどのバグが戻って何が原因かわかんなくなってまいりました! あとで整理してみますー
・#LNOBJ xx があるとき、ch51-69 の間にある通常オブジェでエラーコード7が出ます?? というか ch51-69 が1個でもあるとエラー?
・ch51-69 の終端がなくて #LNOBJ xx のLNがあるとき、エラーコード7?
・というか、なんか正常に再生される/原因表示エラーが出るLNが 「ch51-69 のみの場合」 「#LNOBJ xx のみの場合」 だけっぽい?
 LNオブジェが ch51-69 のみの場合でも、#LNOBJ xx の宣言文があると (xx が配置されてなくても) エラーコード7が出ます。
・最初の最初に地雷が鳴らなくなった! この現象を楽しんでた方にはなんか申しわけない気がしますけれども! ばらしてすみません!
・通常オブジェの真上に ch51-69 を配置してる譜面はエラーにしちゃうんだ!? たしかにそれならオブジェ数の問題は起こりませんけど、、、

あと、スクロール系オブジェがまだ不安定なような。 この譜面 を uBMplay あたりと比較すると、PMSV は明らかに不正確だったり途中で力尽きたりします。 ch03 の通常 BPM 変更も、たとえば "Headache" あたりは PMSV だと微妙にズレてしまう気がします。 気のせいではないと思う・・・
ちなみに pomu2 は BPM 変更は ZZ まで正確に解釈するんですが、#STOP がかなり怪しい。 洞窟ガバEXもたまに止まらない。 定義番号の範囲も謎。 調べたいけどストップ系のテスト譜面はダメ譜面扱いされるのと、新しめのソフト群で唯一D&Dができないのが重なって、調べづらいという。

>譜面厨だからこそいいサンプルが出てくるんですピポ。
自分より譜面に詳しい方いっぱいいらっしゃいますが恐縮です、といいますか、なんかビューワに求めるものが、わたくしめと他の方々とではだいぶ違うんではないかなあと思ったわけでして。 純粋に譜面を眺めたい方にはエラーとかウザいだけなんちゃうかなとか。 「uBMplay に PMS スキンついて動画も観れたら最強」 という方には、「LR2body.exe のショートカットに -A -NS くっつければ それっぽくはなりますよ」 とか思うけど・・・
>ちなみにキープくんは押しっぱで1カウントです。 *桜為
あれキープくんっていうんだ!!

○bmx2wav 1.0.5
バージョンアップ!!!!! とりあえず負数 BPM の変換わろた。 負数ストップは普通にシカトするみたいですね、正当な解釈だと思います。
>ログに WAV の番号を表示するようにした。
・この更新点が地味に予想外にうれしいです、変な音のピックアップに便利になりました。
・他にもいろいろな下地の仕込みがだいぶ済んでらっしゃるようで、今後がとても楽しみです。
・初期 BPM が空のとき落ちるのも 「** Parser に変なの渡されたときのバグ」 で fix されそう。 もう自分にはバグ思いつきません!

改造計画
・定義された音声ファイルがぜんぶ 「存在しないエラー」 のとき、譜面を変換しない機能 (無音変換しない)
・ナナシ拡張命令 #EXWAVxx n、あと GDAC2? 拡張命令 #PATH_WAV とかを解釈
・ランダム値選択ダイアログで最初からテキストボックスにフォーカスしたく、あと [Tab] [Shift+Tab] とか調査中。 うわあ・・・ GUI カオス
・はじめてわかる BMSE のヤバさ。 普通に Tab とかで移動してエンターやスペースでボタン押せるのってじつは神懸っていた


3月17日(2)

○PMSV v1.1.6
ついにヒップウォーリーのストップ完全再現!! なぜかおまけに負数ストップの譜面スキップも実現!! あと #999 まで完走可能に!!
あと #LNTYPE 1 の宣言も不要に!! これでもう、世にある一人用譜面の95%は問題なく再生できるようになったのではないかと思います
(1) #LNOBJ xx と ch51-69 を併用するとエラー (2) LN区間内にオブジェが紛れてるとエラー
(3) ch51-69 で終端が見つからないとエラー (4) #LNTYPE 1 宣言文と #LNOBJ xx 定義が重複しているとエラー
これはすごい

じつは昨日のババァーン画像はコラージュだったのですが、公式に採用されてしまいました。 ありがとうございま・・・す・・・?
確率系イースターエッグが何種類あるのか気になりますがさておき

(1) 始端が見つからない #LNOBJ xx は ch11-29 の通常オブジェとみなす のが一般的っぽい。
(2) LN区間内に通常オブジェがあるとエラー。 かっこいい!! しかし現在の対応 ch だと DP の bms や pms 18k で誤爆します!
(3) ch51-69 でLNの終端が見つからない場合も、始端側を通常オブジェとみなすソフトが多いですね (pomu2 含め)
(4), (1) #LNTYPE 1 (省略可) と #LNOBJ xx は、最近のソフトはすべて 併用可能 です! 肝心なことをお伝えするのを忘れてた死のう

譜面作成支援用途ならエラー返してくれたほうがありがたいので、(1) (2) (3) をエラーにする現在の解釈は個人的には賛同してます。
抜群の解釈力でどんな譜面も再生するコンセプトなら、神ビューワ uBMplay が既にあるわけだし、・・・ とか思います、あくまで個人的に。
えーとしかし、なんか自分みたいな譜面厨以外にも、要望とかある方はお伝えしてみてはいかがでしょう、みたいな、なんといいますか、うん・・・

あとは Hi-low さんが報告されてた 「地雷使用譜面 は最初の最初になぜか地雷用の音が鳴る」 とかでしょうか。 うけるから黙ってたけど (

追記 : LN区間内に通常オブジェがあるとエラー、なんですが、"The Birthday Of Deadmans" のように、BMSE で開いたとき緑色LNの真下に通常オブジェがあるタイプは漏れますね。 昔のソフトでは不具合が出るものがあるけど最近のソフトならこの重ね配置はオッケーなので、エラーにならないのは特に問題ないと思います。 ただこの場合、PMSV は LNの真下にある通常オブジェもトータルノート数にカウントしてしまいます。 個人的にはオブジェ数とか興味ないですけど、一応ご報告だけ・・・

といいますか、本家ポップンって長押しオブジェの数え方どうなってるんでしょう?? そもそもあるのかないのか。
たいていの bms ソフトはLN1本でオブジェ1個分ですが、ruv-it! は押してる間ぼこぼこコンボ増える。 あれはあれで韓国音ゲーの "本家" 由来なのかもしれませんが。 んでIIDXシリウスは、LNの始端で+1、終端でも+1するらしい。 いろいろありますねーという余談でした。


3月17日(水)

昼食がものすごい勢いでぼくを通り抜けていった

>bmx2wav ではランダムで選外になったのはデータとして取り込まないだけで、解析はふつーにやってるんですわわわ
すんませんっしたぁぁぁ!! Sofa でどの分岐を指定しても毎回同じエラーが出てくる時点で気付くべきでしたぁぁぁ。 あああああ。
それで思い出したけど、当日記 2月25日 の 「論理行番号と実際の記述内容が違う気がする不思議」 ってあからさまに勘違いでした
別の用途でテキストエディタの行折り返しをカウントする設定に変えてて、それをいつものごとく忘れてました・・・ 失礼しました;

bmx2wav に拡張スクロールオブジェ #BPM?? / #STOP?? の未使用定義チェックが準備された模様。 おおー
未使用定義が残っててもプレイには支障なくて (一部ソフトがエラー出したかな)、譜面作成時に定義数上限いきそうな場合に空きが無いと困るくらいですが、再生ソフトだと 「未使用定義の読み込みで余計なメモリ食う」 とかはありそうな話だし、無駄な定義は無いに越したことはないですよねー

BMSE において、#WAV?? / #BMP?? は [ファイル - 変換ウィザード - 未使用定義を消去] で整理できるし、未使用スクロール定義は発生しないよう設計されてます (ch08-09 にオブジェ置いたときにはじめて定義がセットされる。 未使用スクロール譜面も BMSE で上書きすると定義カット)。
けど皆が皆この機能に気付いてるわけではないし、テキスト編集のエンバグや BMSE 以外の譜面エディタもありうるわけで、もし bmx2wav でこれらのチェックが実現するならとても心強いです。 BMSE の普及率を考えると、"優先度 : 低" な感じはありますが・・・

○三者三様
この譜面 を裸で突っ込んだとき、
・bmx2wav は 初期 BPM と #WAV 定義と音声チャンネルの三拍子揃ってないと落ちる (初期 BPM 行が存在しなければ補完する)
・PMSV は 初期 BPM 行が存在しなければ補完する "#BPM \n" だけだと微動だにしない (関係ないけど 落とそうとしたらもう 404 くやしい)
・BMSE は開いてくれるし編集もできる 保存が出来ぬ 出来ぬのだ


3月16日(火)

パスの定義の対応度 について先日の補足。 ナナシの 「子方向へのみ相対パス使用可」 の文意を誤解してたけど、つまりこれ、
「譜面を読み込める階層に制限があるソフトでは、親方向を経由するパスは定義しても意味ないよ」 って話だったのね・・・
どういうことかというと、たとえば下図のようなフォルダ配置があったとして、bms プレイヤーソフトを 通常起動 したとする。

Jukebox
       ├ relative_BmsFolder
                ├ sounds
                             └ *.wav(s)
                ├ images
                             ├ *.bmp(s)
                             └ poorbmp
                                         ├ miss01.bmp
                                         ├ ...
                                         └ miss64.bmp
                ├ notes
                             ├ A.bms
                             └ hakkeyoi
                                         └ B.bms
                ├ stage.bmp
                ├ banner.bmp
                └ C.bms

       └ normal_BmsFolder
                ├ *.wav(s)
                ├ *.bmp(s)
                └ D.bms

ナナシその他では、深い階層にある A.bms, B.bms は選曲画面に現れない。 (= そんな場所にある譜面からパスを定義しても無意味)
階層無制限で譜面を読み込める LR2 (,pomu2,nazo) なら、問題なく A-D まで選曲できる。 ナナシでも 譜面ドロップ起動 なら全然いける。
ジュークボックスのパスの指定にもよるけど。 ・・・んで、これは 「パスの定義を読めるかどうか」 とはまったく別の話でしたーごめんなさい。

あと nazo + Glasopal についても訂正。 .bmp の ch04 はだめっぽいけど、動画とミス画像は相対パスOKだった。 なんでどうして???
だから plugout4 のムービーも、パス定義にピリオド1個足せば nazo でも観られます
・・・ なんで ch04 が bmp のパス読めないんだろう。 環境なのか、yamajet_is_sugoi で試したのがマズかったのか、他に原因があるのか・・・
(100317 追記 : 他の作品で試したら、fgt++, nazo, uBMplay はベースもレイヤーもプア画像も相対パス定義でオッケーでした)

>ちなみにPMSエラーの場合1/12の確率で
>「エラー」が「\ヤバい!/」になります。 *桜為

PMSV_command_error PMSV_extension_error
えっ
いや、地味ながらものすごく安全性が高まったと思います! マジメに!
ただ #LNTYPE 1 は誰得! MGQ 型 #LNTYPE 2 が絶滅した現在、宣言によって ch51-69 の書式混乱を避ける必要性はもはやありません。
(ちなみに #LNOBJ は RDM 型 LNTYPE #2 なのでした。 省略できないLN定義は #LNOBJ だけ、という形が5年くらい前から一般的。)

・ところで譜面選択ダイアログで、.bme, .bml も表示していただけるとかっこいい気がしました
・小節数 #999 まである譜面を開いても落ちなくなったかわりに、#999 の最後まで到達するとエラー コード7が出ます;
└ また 「曲が終わっても小節長が残ってると譜面が終わらない現象」 が、そういえばそのまんまでした (昨日は忘れててすみません;)

●唐突に 「曲の終わり」 の判定を比較してみた。 「以降の小節に演奏オブジェ無し / BGM オブジェ無し」 の状態で、
・小節長変更が残ってるとき、譜面が [終わらない : nazo, PMSV] / [終わる : LR2, ナナシ, fgt++, ruv-it, pomu2, uBMplay, bmx2wav]
・再生中の音が残ってるとき、譜面が [終わらない : fgt++, pomu2, uBMplay, bmx2wav] / [終わる : LR2, ナナシ, ruv-it, nazo, PMSV]
・スクロールオブジェが残ってるとき、譜面が [終わらない : nazo, PMSV, ナナシ, fgt++, ruv-it, pomu2, uBMplay] / [終わる : LR2, bmx2wav]
・最終 BPM が低速のとき、譜面が [亀 : fgt++, ruv-it, nazo, uBMplay, PMSV] / [普通に終わる : LR2, ナナシ, pomu2, bmx2wav]
・映像オブジェ / 再生中の動画が残ってるとき、(未調査)
・オブジェがある最終小節で、(未調査) 終わらない / 終わる
いろいろあるんだなあー
pomu2 はキー音を空打ち再生させている間もリザルトに行かない。 ユニーク。 ただし #999 が終わってもまだ波形が残ってると強制終了。

>ロングノート終点が見つからない場合は始点を通常オブジェにするのは nazo か何かを参考にしたような気がします。>ubm
さもありなん。 LR2 も基本的には nazo の解釈拡大なかんじですし、nazo こそ現在の主流の源流なのだなあ、とつくづく感じます。
>フルパスとか相対パスとかは全く気にしていなかったのでなるようになります。ならないこともある。>ubm も BMSE も
#PATH_WAV とかあった気もするので、気にする必要性がそもそもありませんよね、フルパス定義の誰得感たるやもう・・・
あ、なんかくっだらない用途を思いついた
>#LNOBJ が BGM 扱いになるのは知らなかったー。
rdm / ruv-it 自体は現 bmx2wav のシンプルな処理にかなり近いというか、毛が生えた感じなのかなと想像します。 いずれにせよ、
・緑色LNは緑色LNで閉じる
・LN区間内に変なもん挟まない
・#LNOBJ xx には空定義を充てる
・緑色LNを #LNOBJ xx で閉じるのは避ける
という現在の慣習を押さえておけば、通常はどのソフトでも何の不都合もないので全然大丈夫だと思います!
>毎度のことながら hitkey 先生のリサーチ能力には感服。次のネタは「Sofa 170番の真実」でお願いします! (うそ)
上らへんをご覧のとおり、ただの早とちり能力です!;

・・・ 分岐170番おもしろいですねこれ、uBMplay だと中身どおりの譜面になるけど、PMSV だと指定にない BPM -45 とか出てくるw
bmx2wav もパッと見ぜんぜん関係ない行を読んでる気がするし、でも #IF 170 - #ENDIF だけ別の譜面に抽出するとちゃんとなってる・・・。
ちょっと謎すぎて太刀打ちできません!!!


3月15日(月)

http://nvyu.net/rdm/jp/board/irispopo.php?p=1&tnum=38&num=-1#p [続報、lavalse さん自ら解説してくださってました。 バグ疑って反省;]
パスの定義の対応度 について、浅く調べてみました。 ひねくれたパス とか迷路じみたパスは試してません
○ナナシ, pomu2, PMSV [v1.1.5-] : 相対パスもフルパスもOK (PMSV は画像方面は不明)
└ pomu2 の FpsStart.exe は、レイヤー&ミス画像を表示する設定にしても何故か非表示に戻ってしまい、よくわからない (パスワードのせい?)
○LR2, ruv-it!, fgt++, nazo, uBMplay, BMSC, GDAC2, BMSE : 相対パスOK。 フルパスはダメ (GDAC2/BMSE は落ちる)
○bmx2wav : #WAV は相対パスOK。 フルパスはダメ。 画像方面は不明 画像も相対パスOK、フルパスはダメ

>(ひみつ)
光栄です!! そっち方面は不慣れなもので全く手を出してませんが、なるべく頑張ってみようと思います!?
今年は数ヶ月ほど滞在可能性が微妙にあるので (今はまだですがもしそうなったらお知らせします!)、こちらこそ機会があればぜひぜひ。

>\ヤバい!/何度もいぐぅ
>要するに中身を BMS譜面ファイルとして信じ切っているのですね。ピュアなんですよ
>そんなピュアな bmx2wav に世間の厳しさ(ユーザは無理矢理何でも突っ込んでくるということ)を教えてあげないといけませんな…ムフ

なんか三流くさい台詞が! 大人はウソつきではないのです、まちがいをするだけなのです・・・。
>そういやフリーゾーンの件はそのうちチャンネル個別でミュートをかける機能をつける予定なのでそれで対応できるんじゃないかな。
>ミュートじゃなくて読み込みを無視するのなら今 BGM チャンネルを無視している部分があるからその辺見て真似すればいけるかも?

そうそうそれ、13日の日記アップした直後に 「ミュートでいいじゃん」 って気付いて 「明日の日記でメモろう」 って思って結局かき忘れてました;
どう考えてもミュートでやったほうが、(変換結果は同じにしても) パーサー通してミス探せるし、他のミュートと包括できるし、良い事づくめじゃんね。
>改造は bmsbel.lib は BMx Sequence Basic Edit Library として公開してるやつだからそっちを見ればいけるかもねー
というわけで提案は自らボツな感じですが、いろいろ真似させていただきつつ私的に改造は続けてみますです。 アドバイスありがとうございました!
さっそくソース拝見したらいきなり誤字みつけたけど (Down が Donw)、誤字じゃなくて略記とかだったらすみませんすみません

あと ロングノートについて、#LNOBJ シカトはハッとさせられました。 変換目的ならたしかに無視してもほとんど困らないですね。
uBMplay と LR2 で解釈がブレるような特殊な例は、テストプレイで淘汰されるはずだし、現実的には以下のような感じで充分じゃないかな?
・51-69 はLNが閉じてるかどうかだけを見る。 閉じてあれば終端側を消す (終端の番号は問わない)
・LNが閉じてなかったらエラーにする・・・ それがチェックとして厳しすぎるなら、通常オブジェとみなす (つまり放置?)
・LN区間内に通常オブジェが紛れ込んでたとき、bmx2wav は普通に鳴らしちゃうけど、そんなことをする奴は死ね! で一蹴
・#LNOBJ は超シカト

特殊というのはたとえば以下の画像、左端から順に BMSE, uBMplay, LR2, LR2 ですけど、右3つは鳴り方がぜんぶ変わります。
BMSE uBMplay LR2 LR2_LNOBJ
(1) BMSE でオブジェがこれだけの譜面を作ります。 オブジェ 01/02/03 は全部違う音です。
(2) uBMplay でプレビューすると、通常オブジェ 02 が現れた地点でLNが切れます。 LNオブジェ 03 は終端なしとみなされ、通常オブジェ化。
(3) LR2 でこれをプレイすると、LN区間内の 02 は消えます。
(4) 同じ譜面に BMSE 拡張命令タブから #LNOBJ 04 と追記すると、どういう処理の結果なのかわかりませんが、右端の図のようになります。

>何度もいぐぅくそわろたwww
数えたらきっかり3回ずつでした

○PMSV v1.1.4
#LNOBJ 関連以外は全部バグフィックス・・・ ため息が出るほどジェバンニ・・・


3月14日(日)

http://nvyu.net/rdm/jp/board/irispopo.php?p=1&tnum=38&num=-1#p
いわれて気付いたけどほんとだ、plugout4 は相対パスの指定まちがってますね;
ピリオド1個ふやせば LR2 でも ruv-it! でも動画再生できるので、プレイヤーが手元で一括置換すればとりあえず対処はできます。
LR2 で通っちゃうのは機能なのかバグなのか Sofa みたいな特例なのか、ヘルプを確認しないと不明ですが、ruv-it! が対応しちゃうと後々まずいような気はします (ImageContentTypeProblem みたいな)。 plugout4 が公式に修正差分をリリースしてくださるとベストなのですが、IR ががが

○PMSV v1.1.3
チャンネルいっぱい仮対応してスゴいポテンシャルになりました! 演奏チャンネル n7 を解釈するビューワはおそらく史上初!?
PMS 閲覧が主眼なのでスケラッチョ関係は完全に切れるのが、従来のビューワと比べたとき逆に強みというか、面白い特色だと思います。
あとヒップウォーリーの解釈精度が徐々に向上しててわろた。 自分の環境だとストップで止まりすぎる感じですけど

ch11〜19 まで解釈できるってことはつまり、#PLAYER 1 なら bme も bml も普通にプレビューできるってことなので、拡張子 bme/bml にも対応していただけるとありがたいです。 現在の版で誤って未対応拡張子をドロップすると固まるのです・・・

未対応の拡張子のファイル (exe とか) をドロップしたときの反応
・未起動なら無視して通常起動する : LR2, ruv-it!, BMSC, GDAC2, BMSE, uBMplay
・とりあえず空譜面を再生する : nazo, fgt++
・起動中ならシカトする : ruv-it!, BMSC, GDAC2, BMSE, uBMplay
・無言で落ちる : ナナシ
・\ヤバい!/ : PMSV, bmx2wav, nazo (選曲画面ではなんであれドロップ自体ヤバい),

拡張子は wav だが中身は譜面であるファイルをドロップしたときの反応
・未起動なら無視して通常起動する : LR2, BMSC, GDAC2, BMSE, uBMplay
・普通に譜面として解釈する : ruv-it!, ナナシ, nazo, fgt++ (ただしよくある pms は 10k 扱いに), bmx2wav
・起動中なら wav のドロップは定義する : BMSC (exe とかのドロップだと何もしない)
・起動中も無視する : GDAC2, BMSE (ただし定義リストへのドロップなら拡張子を問わず定義する), uBMplay
・\ヤバい!/ : PMSV, nazo

ruv-it! がんばりすぎスゲー (フォルダドロップもできるし)。この形で IR とか大丈夫なのかな。 しっかし様々な実装があるんですねー
PMSV に話を戻すと、とにかくチャンネル増加バンザーイに尽きます。 5k/7k の bms でもスクラッチの音が鳴るようになって嬉しすぎ。
仮対応なのでしかたないことではありますけど、ch11-19 型の 9k だと、背景スキンのチャンネル表示が対応しなくなるという問題はあり。

以下は別件で気付いた点ですー
・曲が終わってオブジェが無くなっても、小節長変更がその先まで続いていると譜面がなかなか終わりません (nazobmplay と同様)。
・その例として 先日の作例差分 をでっちあげたのですが、なんか、この差分がそもそもエラーコード 7 で再生できない;
・小節数制限とかあるのかな? pomu2 でもこの差分は最後に強制終了したけど、譜面末尾行 #99911:11 さえ削れば普通に終わります。

あと先日の、ロングノート絡みのトータルノート数の件を、もうちょい詳しく調べてみようとしたら芋づる式に引っかかったのですが、
・BGM にオブジェがなく、演奏領域レーンに ch5x/6x の始端終端が 1 組あるだけの場合、エラーコード 19
・ch5x/6x で終端が見つからないと、エラーコード 19
・#LNOBJ xx で終端に指定した番号のオブジェが、LNの組にならず通常オブジェとして配置されていた場合、エラーコード 7
・演奏領域にあるオブジェが 「始端 ch5x/6x」 − 「終端 #LNOBJ xx」のLN 1 組のみであるとき、エラーコード 7
├ uBMplay, LR2, nazo はこれを 1 本のLNとして解釈します。 (ただし uBMplay では、この譜面はトータルノート数ゼロになります)
├ ruv-it! は始端側は無視します。 終端側は通常オブジェとみなします。 つまり、通常オブジェを 1 個のみ表示します。
├ ナナシは始端側は通常オブジェに。 終端側は 「不可視なのに判定される謎のオブジェ」 に。 しかしトータルノート数は 1 に。
├ fgt++ は演奏オブジェ無しに。
├ bmx2wav はLN終端不在というエラーメッセージを返し、変換を中断します。
└ pomu2 は始端と終端を別々の通常オブジェとみなし、トータルノート数 2 に。
ただこのへんも、正直そんな指定すんなよって感じだし、どうなんでしょうよくわかりません; とりあえずメモも兼ねてご報告だけ。

○ bmx2wav (上でもちらっと書きましたが;)
・譜面以外のファイルを指定して変換すると何度もいぐぅ
・拡張子が譜面ファイルでも中身が別物だと何度もいぐぅ
・拡張子が別物でも中身が譜面ファイルだとセフセフ
でした。


3月13日(土)

○ #LNOBJ xx
諸事情で rdm タイプのロングノート仕様 を確認してて、以下の記述でおやっと思った。
>LNOBJ に指定されたオブジェクトの WAV は BGM に再生されます。 wiki にもそう書いてある。
空でないオブジェをLN終端に定義して配置したとき、演奏の成否に関わらず LN終端で #LNOBJ xx の音が鳴る のが元々の仕様らしい。
ああ、だから "#LNOBJ xx では (余計な音を鳴らしたくなければ) 空定義を指定してね" ってことになってたのか・・・
最近のソフトでは、ruv-it! と bmx2wav は仕様に準じてた。 他は #LNOBJ xx の番号はLNでは鳴らさない模様 (それはそれで妥当だと思う)。
なにがいいたいかって、俺なんも知らねーんスね、って再確認しました、ってだけの話

○ bmx2wav (要望というには限定的すぎて気が引けたので改造してみよう日記)
ch n7 (07 除く) のオンオフを設定したく思い、UI はあっさりできた。 肝心の中身は bmsbel.lib がさっぱりわかんないおわた
IsShoudPlayWavChannel は Should かなあ (どうでもいい)。 ここでフリースクラッチだけ分けられればいい気はするけど・・・

"house experience" みたいな tokai 系譜面は、* フリーゾーンを無音オブジェで伸ばしてない限り 変換時に余計な音が混ざる場合があります。
LR2 (1 分以上の長音を切って変換)bmx2wav (同じ音が鳴ったら前のを消す) を比べると、後者は皿が10枚分増加してます。

いっぽうで、ch17/27 を通常オブジェとして解釈したい場合もありまして。
・ナナシグルーヴは 5k/7k/10k の ch17/27 を 「フットペダルレーンの通常オブジェ」 とみなします。 (14k + ch17/27 は pms 18k になる)
・pms 譜面は現在3種類あって、(2) と (3) は通常オブジェ ch 17/27, 不可視 37/47, LN 57/67, 地雷 D7/E7, 他にもあるかな?
├ (1) 最も普及している、bms-DP 型 9k。 pomu2, LR2, ナナシ, fgt++, BMSE, GDAC2, PMSV, uBMplay 対応。 11,12,13,14,15,22,23,24,25
├ (2) BMSC で作りやすい、bme-1P 型 9k。 pomu2, LR2, GDAC2 対応。 作例。 チャンネルは左から順に 11,12,13,14,15,18,19,16,17
└ (3) そのダブルプレイ、bme-DP 型 18k。 pomu2, ナナシ, GDAC2 対応。 11,12,13,14,15,18,19,16,17 / 21,22,23,24,25,28,29,26,27

○PMSV
BMSE で [Shift + 左クリック] で書き込めるタイプのロングノート専用オブジェは #LNTYPE 1 と宣言文を付加すればプレビューできますが、通常オブジェとLN専用オブジェが同じ座標に重なっていた場合、オブジェ数が余分に加算されてしまうようです (たとえば "The Birthday Of Deadmans")。

○BMSE full 版ヘルプ、ソフト仕様集を微更新
まちがいが多すぎて消え入りたい

追記 : 作例をアップし忘れててリンクも貼り忘れてた。 あと PMSV が 1.1.2 にバージョンアップして .wav でも ogg 鳴らしてくれて感動


3月11日(木)

とある経緯で カオスステージ の "Sphagnum squarrosum" を先に落としてプレイ。 いい曲。 譜面は懐かしの溶接系。
どこまで溶接できるか 実験 (BMSC で全小節長 1/100 の空譜面つくって、小節長部分を元譜面にコピペして BPM 1/100 しただけ)
・いける : LR2, ナナシ, uBMplay, bmx2wav
・おしい : pomu2 (曲は正常に流れたけど途中で強制終了)
・アウト : ruv-it!, fgt++, nazo, PMSV

アナザー譜面は分解能 192 を守ってて、BMSE で編集できるし再生可能なソフトも多い。
1小節完結は BMSE じゃないと作りづらいタイプで、そこは新しいんでは。 "sevenscape" はこうあるべきだった、とひそかに思ってた


3月10日(水)

よだれ垂らして寝てしまった、とっとと寝なおそう
非公式ヘルプ巨大版を地味に更新、もうちょっと直す予定
ruv-it! も負数 BPM でちゃんと終わった (譜面がふりだし以前に戻るとリザルトに行く) forgetalia++ が唯一とかデマすぎすみませんでした
libpng の脆弱性、bms 関係は大丈夫だろうか


3月9日(火)

>がーんだな・・・出鼻をくじかれた
>じゃ・・・この「負数 BPM」を

ですからごめんなさい、BPM も正数からなんですよ。 譜面スクロールオブジェはゼロ以下厳禁でございましてどうも
・・・ とか書いてたら bmx2wav が 負数スクロールに対応してくださったらしい!?
DJ Hero って Rewind とかシークがあるみたいで、音楽へ介入できる形での譜面スクロール操作ってあんな感じかなと。 演奏ってか編集のゲーム性かもですけど、bms の譜面逆流よりはプレイヤーがやること変わって楽しそうだなあと。 や、"U9" "Sofa" は大好きだけど、それとはまた別の話で

○ bmx2wav
"Burning Boost Rising" のエンデュランス (やたら容量でかい譜面) がメモリ不足で変換失敗。 メモリ増やせばいけるのかな?
同作品、bbr_endu_7keys_03_muzu.bme の #651 に、LN始点と終点の定義番号の食い違いがあり、bmx2wav はこれをエラーにします。 が・・・
恥ずかしながら初めて知ったのですが、LN仕様提唱元 / DDR サポート によると、ch5x/6x では終端側の定義番号は問わない みたいです;
ざっと調べた限り、LN対応ソフトでこれをエラーにする本体はありませんでした。 えー・・・ 昔どっかで勘違いしてデマ書いた気が・・・ しまった・・・


3月8日(月)

ほっちゃーん! ほ、ほーっ、ホアアーッ!! ホアーッ!! (訳 : ログの公開をお待ちしております)

>負数ストップ! そういうのもあるのか
うん! そうかそうかそうなれば話は違う、とはいえ 開発者さんには負担 、ネタとしても賞味期限切れ、基本ご法度かと。
譜面スキップをやるなら BPM よりは STOP のほうがスマートじゃね? って思っただけで、けっして推奨はしてませんので!
豆知識ですが forgetalia++ は負数 BPM で逆スクロールしてもリザルトに行ける唯一の本体です。 それはそれでアホっぽいけどすごい

>ちなみに自分の使っている Em#[0-9]{3}[3-4][1-9]:[0-9A-Za-z]*\n とこんな感じで使ってます。
>スキンを編集するとき非常に便利なんですわ。 *桜為

{n} (直前のパターンを n 回繰り返す) は秀丸でも使えるけど見落としてました! grep 以外では滅多に秀丸つかわないので・・・ orz
ああ、引用符に相対パス一括挿入とか、あのわけわからん括弧の嵐を一括書き換えとか、便利そうですねー。 作業効率が段違いっぽい。
EmEditor は Windows の標準的な挙動に準拠しててなおかつ高機能、という風評をよく見かけます。 こんど30日版ためしてみよう
カラフルチャンネル2たのしみにしてます!

"Silver Connection / TrioStaR × Mentalstock"
これはすごい
ページ見た時点で ★×53 とか異様すぎてふいた
・音全部 48kHz / 16bit / 2ch という bms はたぶん初めて見た
・小節長16でも、映像が動画形式だと細かく動かせていいなあ、というか小節長のこういう使い方いいなあ
・この尺でこのジャンルで多重定義とかもちゃんとやっててとても丁寧だと思う
・打感すげー超きもちいい
・ノーマル譜面 #026 みたいな歯抜けは個人的にはありだと思う


3月7日(日)

不可視オブジェを一括で検索・削除・置換する方法 : 正規表現が利用できるテキストエディタ (いっぱいある) で譜面を編集する
秀丸 なら #[0-9][0-9][0-9][3-4][1-9]:[0-9A-Za-z]*\n で空置換すれば一括削除。 grep 置換 なら複数譜面一括書き換えも可
terapad なら TpRegExp をツールに登録して \#\d\d\d[3-4]\d:[0-9A-Za-z]*\r\n で空置換すれば一括削除。 こっちは譜面単体のみ

BMSE とテキストエディタで地雷を配置する方法 : 変拍子祭りなどで GDAC2 + 地雷スクリプト が使いづらい場合用
・BMSE で地雷のかわりに不可視オブジェを配置して保存。 最終的に [不可視オブジェの定義番号 ÷ 2] が地雷ダメージとなるので注意
・秀丸なら (#[0-9][0-9][0-9])3([1-9]:)\1D\2 に全置換、(#[0-9][0-9][0-9])4([1-9]:)\1E\2 に全置換 (複数譜面一括も可)
(terapad + TpRegExp なら (\#\d\d\d)3(\d:)\1D\2 に全置換、(\#\d\d\d)4(\d:)\1E\2 に全置換 (こっちは譜面単体のみ))
・#wav00 に地雷用の音を定義して終了 (ナナシグルーヴと LR2 には未定義時デフォルト爆発音あり。 forgetalia++ は未定義時は無音)
・地雷の配置を変更するなら、BMSE で開く前に、上記の 「3D」・「4E」 を入れ替えてそれぞれ全置換。 #wav00 は ZZ にでもしておく

・秀丸独自タグもメモ。 上の例なら #[0-9][0-9][0-9]\f3\f[1-9]:\f\0D\2 に全置換、とかでもいける。 セパレータ指定する感じ
・どっちが速いかは知らない・・・ というか本職の方々は検索の表現すら処理速度を考えて最適化されてるらしい。 魔窟すぎる

○PMSV (バグ報告に非ず)
ストップとLN始点が同時にあるとき (ToyMusical2 メキシコN等)、停止中はLNゲージがチャージされない。 スクロール依存なのかー


3月6日(土)

>よしならば「ボロロ」という曲をでっち上げてもらいましょうか^^
下にある "おまけ差分" で許して^^
>ガバディーで安心していたらそんなのがあったとわ *桜為
こちらも完全に見逃してました; いちおうトイミュージカル試してはいたのに!
ツール関連一区切りおつかれさまでした! キャラビューアーもちゃんと起動できて助かりました、ありがとうございました〜

○ヒップウォーリー
昨日の日記は大半が間違ってました!! 未修正版とミス修正版 を手違いでごっちゃにしちゃった; ごめんなさい!
※ まず、DLページ の一番下、429MB の zip に同梱されたヒップウォーリーは、譜面がバグってます (タイムスタンプ 2007/03/05 17:3x)
※ で、Toy Musical 2 のアーカイブを上書きすれば、ヒップウォーリーの譜面ミスも修正されます (修正版タイムスタンプ 2008/07/13 22:2x)

あらためてまとめ。 ヒップウォーリーの譜面スクロールオブジェが、(おそらく) 意図どおりに解釈されるなら ○、されないなら ×
----ナナシLR2ruv-itpomu2fgt++nazobmx2wavPMSVuBMplay
ミス修正版×××← ○ が正しい挙動
未修正版×××××××← × が正しい挙動
おまけ差分×××××← ○ は負数 STOP
参考用に数日間だけ無断アップ失礼します。 LR2 とナナシは負数 STOP オブジェを無視。 ruv-it! は負数 STOP で永久停止。 bmx2wav は蹴る。
この作品のような演出に限っては、BPM 変更より負数ストップのほうが計算しやすくて向いてそうな気はします。 基本的にはアレですけど

ヒップウォーリー 未修正版については、具体的なご指摘コメントもいただきました (感謝です)。 BMSE で開けば一目瞭然ですが、譜面そのものが 「一瞬しか停止しない」 指定になってます (停止時間は停止時点での BPM に依存)。 この指定で長々と停止してしまうのは本体側バグでした。
正常な本体ならこの譜面の演奏時間は1分半弱になってしまうのですが、昨日はそれをバグと勘違いしてしまいました。 伏してお詫びいたします

ヒップウォーリー 修正版については、TEM さんに 詳細なお返事 をいただきました (感謝です)。 未修正版とはまた別件の譜面バグで、バグというか 「修正版も、厳密には正しくない指定をしている」 というご指摘。 停止からスクロール再開までの間が、"基本 BPM における1小節分の経過時間" よりごくわずか早い (0.019197198 秒)。 これは 60 fps における1フレーム に匹敵するため、気になる人は気になるレベルかと思います。
(とはいえこれは 「だいたいこのくらいまで合ってればいいかな」 という bms 作者さんの判断だろうとも思います。 それはそれでオッケーかと思いますし、この件を bmx2wav のバグとして報告する意図はありませんでした。 こちらの一方的な勘違いでご迷惑をおかけしました;)


3月5日(金)

昨日の日記でボレロをボロロと typo してしまったことを伏してお詫び申し上げます

○ bmx2wav
不覚にも忘れてた。 ToyMusical の一部の譜面が意図通りに解釈されません。 (該当作品 を数日間だけ無断アップ失礼します)
bmx2wav / PMSV のみならず、地雷を解釈する LR2 / forgetalia++、譜面解釈力に定評がある uBMplay でもヒップウォーリーは変になります。

[BPM40000] における 64 分音符1個分は 0.00009375 秒、[BPM40000] から [BPM87 + STOP186] までの間隔は 0.02390625 秒。 無茶杉
・8kHz, 16kHz, 24kHz, 32kHz, 48kHz の wav をたまに bms で見かけた記憶があります。 "colors of little" が確か 48kHz (もうDL不可;)。 Renaissance の "Neverknows" が 32kHz 混じってたけど、いまは全部 ogg になってて、ためしに変換したけど素人耳にはよくわかりません;

○俺用メモ
spware
├ マルチプラットフォーム、GNU GPL ver2、u-law/a-law その他対応、線形補完でなく LPF による折り返し歪み対応、ほかいろいろ
└ wav 部分のソース参考にしようと思ったけど 100kb 超えてて反射的に閉じてしまった
Upconv 0.x.x
└ 図解とか技術情報とか

高校レベルの数学わかってないと手も足も出ないっすね! それ以前にソースが理解できない。 C のハローワールドから出直そう・・・

[20100306 追記] ヒップウォーリーの件、筆者が勘違いして間違ったこと書いてます; 翌日の日記 で訂正いたしました。 ごめんなさい。


3月4日(木)

>『厳しくチェックする』『クソWAVも読み込む』
>「両方」やんなくっちゃあならないってのが「BMX2WAV」のつらいところだな 覚悟はいいか? オレはできてる

兄貴ィッ! TEM 兄貴ィッ! やっぱり兄貴ィは、スゲェーやッ!
"DRAGONLADY" "boloro" "脅威を以て信仰を知れ、巫女を見れ" その他もろもろ、bmx2wav 1.0.4 で全部変換できるようになってます! Yatta!!!
いじってみた。 フゥゥーー…… 初めて………… 実行ファイルをコンパイルしちまったァ〜〜〜〜〜 でも想像してたより、なんて事はないな。
(ゲス野郎フラグ)
改造と呼ぶのもおこがましいレベル、何故これで動くのか全然理解できてないけど、見よう見まねでも動いてしまうほどにわかりやすい構造であることは理解した。 あとライブラリって便利なんだなあということも理解した。 なんかプログラム解説サイトより、知ってるソフトの中身みたほうが萌える。

>このジョジョ好きたちめ!!
チョコラータ先生と思ったらバックベアード先生!


3月3日(水)

>>最小化・閉じるボタンを押しっぱなしにして
>これは気づかなかったぁ〜

窓を閉じようとしてボタン押下するけどやっぱや〜めた、という展開が自分にはよくあるのでした。 なぜだ!? ジイヤだからさ
>>BMSE バグ
>うおーありがとうございます!とりあえず通常使用でも割と発生しそうなやつをいただきました!補足として先の URL へのリンクも貼ってみましたが、まずかったら教えてくださいー。ubm もヤバそうなのが出てきたら掲載します。。。

お役に立てれば幸いです・・・! ビューワ設定窓のバグについて、メモが暗号文同然だったので補足しますと、
・ビューワの設定ウィンドウを開き、左側のリストの 一番下にあるアイテム (初期設定なら BMS Viewer) を 選択する
・[削除] ボタンをクリックして、一番下のリストアイテムを削除する と、一時的に ビューワリストの選択カーソルが消えてしまう
├ この状態で、ビューワリストボックスをクリックすると固まる (プロセス落とすしかなくなる)
└ この状態で、[Shift+Tab] とかでビューワリストボックスにフォーカスして方向キー押すと即死 (実行時エラー 9: インデックスが有効範囲にない)

あと関連する別のバグですが、ビューワリストのアイテムを選択して [削除] したとき、結果的にはそのすぐ下にあるアイテムが消えてしまいます。
たとえば初期設定 ini から BMEV を選択して [削除] すると、左側のリストでは BMEV のすぐ下にあった BMS Viewer が選択されますが、右側には BMEV の設定内容が残り続けます。 このまま [OK] すると、削除したはずの BMEV の設定が、BMS Viewer の設定を上書きする形に。

>>RIFF WAV とか MP3 とか
>「クソ仕様」…そんな言葉は使う必要がねーんだ。
>なぜなら、オレや、オレたちの仲間は、
>その言葉を頭の中に思い浮かべた時には!
>実際に仕様を満たしちまって、もうすでに終わってるからだッ!
>だから使った事がねェーッ。

>hitkey、オマエもそうなるよなァ〜〜〜、オレたちの仲間なら…
>わかるか?オレの言ってる事…え?

>『クソ仕様だが対応した』なら、使ってもいいッ!


クソ仕様って思った時は、兄貴ッ!
すでに実装は終わっているんだね。
・・・と言えるようになるよう努力します!! 具体的には、パッチ書いて提案とかできるくらいには、プログラム身につけられれば・・・

PMSV v1.0.5
ストップ直ってる! ありがとうございました! もう自分にパッと発見できそうなバグはなさそうです、十日間粘着失礼しました (ほんとに;)
bmx2wav 1.0.3
自炊目標たてたそばから恐縮ですが、・・・ あいや、ええと数日後か数週間後か数ヵ月後くらいにまた! (
○追記 : PMSV v1.1.0
謎機能が無駄にすげええええええwwww (以下バレ : option.inf 開いて #LIN を 2 に) 他にもあるのかな?


3月2日(夜)

自分の日本語をデバッグしたい (日本語っていうかさあ)
PMSV v1.0.4
どうも v1.0.2 以降からでしょうか、#STOP の停止時間が、指定した値よりもだいぶ短く解釈されてしまうようです。
バグとは全く関係ないけど、PMSV はスクロールオブジェが可視化されているのが凄く新鮮でした。 この状態で実際にプレイしてみたい!

○ bmx2wav
変換できない bms の wav を RIFF File Viewer で見てみたら、ああ・・・ これはたしかに素で行儀悪い・・・
ただ ogg が普及する以前はわりと広範にわたって使われてたソフトなので、一律にダメにしちゃうと弊害が大きいかもしれません。
あと古い Mac で作成された作品は、一部の wav のヘッダが異様に大きかったりするみたい? (uBMplay - readme.txt)
あと mp3info 系列の一部ソフトでタグ情報を編集したりすると、いろいろヘッダ変になるみたいで、でも入れてる方けっこう多いのでは。
というわけで、このへんも "変換ソフトとしては" 扱ってくださるとありがたい、のですが・・・ ヘッダの件が地味にショックだなあ

○ Plugout4 の Phase-3 & 4 を落とそうとしたら先に bms.ms が落ちていたでござる
フテ寝


3月2日(朝)

*包丁の こうげき! 人差指に 60 のダメージ!

>耳レイプ防止です。>ubm
>操作自体の無効化は VB6 では確かできなかったと記憶していますが、仮にできたとしても Win 標準の挙動に則らないソフトはウザいだけなのでやらなかったと思います。

おおー解説ありがとうございます! タイトルバードラッグによる窓移動中もこの機能は効いてて、地味ながら確実に品質を向上させる着眼に感嘆することしきり。 最小化・閉じるボタンを押しっぱなしにして別の場所で keyup、とかすると耳レイプ発動しちゃうけど、そんなことする奴が悪い!
keydown / keyup / keypress / mousedown / mouseup / click / dbclick がプログラム的には全部違うというのが、いまだにめまいがします。

あ、自分が把握してる範囲で BMSE バグ まとめました、適当に取捨選択していただければ幸いです。 本当は uBMplay もさらってからお届けしたかったのですが、「座標定義に文字列いれてるとオーバーフロー」 とか譜面が100%おかしいわけで、それら例外らへんの扱いに困り果てまして・・・

>なんかbmx2wavでbmsの厳密チェックしたいみたいだけど、それよりは専用ソフト作った方が良いん?の?かな?かな?
ああー大事なこと書くの忘れてた; 仰るとおり変換ソフトの仕事じゃないことは承知しており、これは要望ではなく妄想だったのでした!
まさにそういう専用ソフトを自作しようとしてたのですが余談略
ただ変換したいだけなら現在の版でもチェック過剰な気はするので (映像部分とか)、そこでついチェッカ用途が浮かんでしまいまして (すみません;)
・単機能ソフトなら機能は絞って分けたほうが、自分には馴染めます。 wosderge さんの各種ソフト、Firefox でいうアドオンもそんな感じ。
・いっぽうで 「ひとつで済むならそれが最も合目的的」 という考え方も、それはそれでわかります。 LR2 とか、ブラウザならスレイプニルとか。
個人的な好みは前者ですが、どっちが良いかは自分には判断できないので、TEM さんに負担でなくて尚且つお気が向いたらご一考いただければ。
・・・ 早朝の走り書きで流しちゃうにはなんか申し訳ない話題な気もするので、夜あたりまた書きなおすかも;

あと開発日記のお話ですが、完全自前解析 (!) ならそんなマイナーすぎる形式をサポートする必要はないように思います! 普段は再生本体の解釈力に甘やかされているので、変な音が使われてても自分にはそもそも気付くことすらできないのですが・・・ たぶん μ-Law なんかオートメーション工場以外で見たことないし、例外と断じてしまって大丈夫な気がします (これでじつはいっぱい使われてた! とかだったら切腹してお詫びします)。
あと 24bit の他の作例ですが、前どっかで1作くらいあったような気がするのですが今パッと思い出せませんごめんなさい;

PMSV v1.0.4
20分で bug fix とかジェバンニ超えてると思いました!


3月1日(月)

PMSV v1.0.3
・ "L9" が表示なおってた! ありがとうございます! cc 版 L9 の譜面ミスもいつか直るといいな! あと zip に desktop.ini が混入してましたー
・以前は再生できてた気がするんですが、ビゴーン、セツナネガイ、スプリングポップEXでエラーコード 7-1
・無色透明EXなど、「途中から再生」 でエラー 31-1 (再生開始位置より手前の小節に BPM 変更オブジェがあるとアウト?)
・常に前面化して連続でドロップ読み込みしてたとき、ひよこステップやマリサなどの序盤で 「同番号連続時、鳴らないバグ」 が再発する場合あり
・あとたしか ↑ と同条件で、洞窟ガバが一瞬しか止まらない ・ 終わっても20秒くらい閉じない、などの怪現象が。 再現方法よくわからずすみません
・バグじゃないけど、隠し曲カラフルキャンバスなど、曲末尾のフェードアウトが完全に鳴り終わる前に終了する場合あり (気にしないけど)
・バグじゃないけど、システムメニューを開いて (PMSV タイトルバー左端アイコン左クリック) しばらくしてからメニュー閉じると耳レイプ
└ uBMplay 2004年5月23日 の更新は、操作自体の無効化? だとしたら 1.4.6 では効いてないかも。 耳レイプ防止? だとしたら効いてる

bmx2wav 1.0.3
・uBMplay >2007年8月9日 1.4.5 ・リニア PCM でない RIFF WAV ファイルの再生に対応 (ただし ACM で変換できるものに限る) ああ、これかあ。
CCITT μ-Law その他については、(警告すら出さず変換してくれる LR2 を競合ソフトとみるなら、) 設定で警告を出せて尚且つ変換もできる形が望ましいのかな? PCM 以外を使えるメリットは自分にはピンときませんが、それによって広がる表現の自由度もあるかもしれないし、逆に PCM 以外を蹴るポリシーもあるように思います。 なんかブラウザでいう 「IE vs 標準準拠」 みたいなノリになっちゃうと微妙ですけど。

・特定ディレクトリ以下の譜面をまるごと一括変換できるのなら、たぶん設定を厳しくすれば 一括譜面チェック もできるわけで、そういう使い方ができるなら bmx2wav は作家さんやパッケージ監修者の方にとっても必携ソフトと化すはず。
「叩かなくても鳴る音」 が検出できると鼻血出ます。 キーと BGM の両方に、同一リズムライン上に同一の定義番号が配置されていた場合、BGM 行をエラーとみなすような。 (wav 変換上はまったく無意味な、重くなるだけの機能ですが、譜面の解析機能があまりにも充実していたので、つい・・・)

追記。 PMSV かきわすれ
エディタから呼び出した後、inf の #HIS が勝手に 00 に戻ってたような気がします



日記  01 02 03 04 05
06 07 08 09 10
 
拙作BMS bubble 
二次配布BMS ノイズの海と鯨 / moka 
無断配布BMS PARTY TIME IN MY DREAM / HAIJI 
BMSE 非公式ヘルプ chm shtml online full buglist 
bms 本体仕様メモ 本体主役版 コマンド主役版 
差分 analgam bolero Ketchup quovadis SELF yellows 
BMSリンク BMS Journal BMS名鑑 Be-Music Report 
差分リンク artofnotes kusofumenlovers 徒然草 風雲亜草 物置  
参加中
Obj Tech LoversDirector's Cut-DC-
応援中
BMS STARTER PACK 2009