BMX2WAV(と他ツール)開発日記

主にBMX2WAVの開発についての記録ブログ

bmx2wav

BMX2WAV 1.ZZ.05

http://childs.squares.net/program/bmx2wav_new/bmx2wav.html 【バグ修正】《searcher》ツールバーのツールチップが出ていなかったのを修正した。 【その他】スクリプト関連の調整 変換時のメッセージ出力をスクリプト部で行うようにした 他いくつか これで…

記録

整理が終わったのでしこしことログ出力部分をスクリプトに外出し作業 9割方終わったので明日には全部終わり そしたらそれを公開するか あとはマニュアルを書けば2.0.0で公開かな

記録

色々と考えた結果、エラーのコールバックの整理が必要との結論 どう整理するのが良いのか考え中 なので見た目はあんまり進んでいない

記録

構文解析時のエラーはパーサのコールバックで処理していたから この変の統合をしないとあかん その辺に影響しない部分の部品を作って今日は終了

記録

スクリプトに外出し作業 主に変換時の詳細ログに出すメッセージ部分 色々と枠組みを作って呼び出し 必要な情報を提供しないといけないのでそれらの枠組みも作る 必要な情報にエラー時の呼び出しが必要 エラー時の呼び出し枠組みを作って呼び出しまで確認 構…

記録

http://hitkey.nekokan.dyndns.info/diary2006.php#D200722 ツールチップは64bit版だとOSのバグがあったのを対応して出るようにしてた筈 と調査したらツールバーにIDを振り忘れてていた。 IDを振って出るのを確認して終了。 既に職業プログラマじゃなくなっ…

記録

searcherの検索時の BMS 構文解析の非同期化 実装するも時々落ちる 調査したら自作の非同期処理用ライブラリにバグがあった為 速度調査 検索をするたびに遅くなる現象に出会う この辺かな?と調査するもことごとく特に問題が見つからない 結局はフォルダ検索…

記録

searcher のエントリ周りの実装の整理 想像以上に難しくて今日一日ずっとやっててやっと出来た感じ BMS の構文解析を別スレッドで実行するアイデア 別スレッドでやるなら今は CPU コアが複数とか当然なので速度アップが見込めるような

記録

昨日調査したバグは修正 変換時にファイル出力指定なしの場合はファイル出力無しだけど、それを画面に出すようにした searcher のツリーの右クリックで開くメニューを作った searcher のエントリ周りの実装がどうにも複雑だったので整理することに決めた け…

BMX2WAV 1.ZZ.03

http://childs.squares.net/program/bmx2wav_new/bmx2wav.html 【機能追加】BMX2WAV Searcher を同梱するようにした。 【バグ修正】一部誤字・脱字の修正 【その他】前バージョンで機能追加した環境変数の展開をしないようにした。 【その他】BMS 構文解析の…

記録

searcher の設定プロパティシートは完成した のでリリースに向けて作業 とりあえす 64bit は数カ所適当に修正して終了 細かい警告も潰した 明日ぐらいには公開出来るかな

記録

昨日作った非同期排他制御は特定の場合に問題があることが判った ので代わりの制御を考えて実装 これは結構上手く行った searcher 全体の設定等を考えて専用のクラスを作成 設定編集用のプロパティシートを作成する その途中で今日は終了

記録

データ構造を見直して修正した ので逐次表示が出来るようにはなった 次に非同期処理 結構詰まったが、なんとか非同期処理かつ排他制御が出来るようになった がしかし、このままだと使い勝手が悪いというか変 なので今出来ることから仕様をどうするかを考えな…

記録

逐次表示を考えた 今のsearcherの構造は逐次表示を一切考えていない むしろ一度データをためた後に表示することしか考えていなかった なのでそのデータの構造等を見直さないとダメだということに という点まで判って今日は終了

記録

他の部分で処理が速く出来るか検討 BMS構文解析の所は調査して特に偏って遅い部分が無いのでコレと言った高速化は難しそう ファイル検索部分は調査が難しかったが色々工夫して調査 結局はWindows の API を呼び出してる所が遅いのでもうやりようが無いことが…

記録う

なんか昨日の日記がちゃんとアップされてなかったので再度アップした。 本日はパーサの正規表現部分を自前の文字列処理で実装してみた 実装した結果該当部分の処理時間が20倍~80倍(桁は合ってます)ぐらいになった。 BMS の構文解析の全体で見ると2倍~3倍…

記録

searcher はそれなりに使えるようになったかなと しかし、検索周りが遅い気がする(検索中はフリーズしたようになる)ので調査 ファイルシステム周りが遅いのはまあしゃーなし。早くしようが無い ファイル読み込み部分が遅いかと予想していたがそうでもなか…

記録

Searcher に手を付ける 色々と放っておいたので、本体との共通部分で変更があった箇所との整合性が取れてなかったを取るように アイコンとかラベルを設定 他バグを取ったり ソート関連の調整 思ったより多めになって修正しきれずまた明日

BMX2WAV 1.ZZ.01

http://childs.squares.net/program/bmx2wav_new/bmx2wav.html2.0.0 に向けて本体のテスト版です。ここから先ある程度まで実装できたら2.0.0として正式公開する予定。 中のファイルについて BMX2WAV は以下の順番でスクリプトファイルを読み込みます。 bmx2w…

記録

見つかった64bitのみの不具合について調査調査調査 結局のところ今の段階ではWindowsのバグだという結論に なのでこれを回避する為に自前で実装する部分が出てきたっぽい という所まで判って時間切れ

記録

64bit 対応でコンパイルが通らない部分の修正 ついでにコンパイラの警告も出すようにして所々修正 ほぼ出来上がってあとはテスト版のリリース作業だけかな といったところで 64bit のみの不具合が出てきてしまいまだまだか

記録

昨日のバグはちょっとした所でミスってたのが原因だった というのを結構色々と弄くった後に気づいて無駄な時間を使ってしまった 他色々調整して一括変換は出来るようになったかな 他、それのログとかメニューとかボタンの調整 これで機能的には v1 と同じま…

記録

かなり苦労した設計もなんとかなりそうなんで実装開始 それでも所々でうんうん唸りながらコーディング 出来上がったのでテストで実行してみたら一発で上手く行った と思ったら、一部のウィンドウがアクティブにならない問題が 事前調査だとアクティブになる…

記録

一括変換絡みを考えたが思ったよりもだいぶ複雑そう メッセージとスレッドの同期の取り方とか特定の変数をatomicにしないとダメっぽいとか モーダルとかモードレスとかのダイアログの性質を考慮するとか 色々と調査してなんとかこんな感じでいけるんじゃね?…

記録

後処理の実装 内容的にはスクリプトでやってる ちょっととっちらかっていたオブジェクトの管理をちゃんと整理した これで変換時の設定関連はv1と同じ以上になった筈 後は一括変換 これが思ったよりやっかいっぽく色々考えないとだめっぽいかも

記録

スクリプトから出力ファイルテンプレート処理が出来るようになった。

記録

色々やった メイン画面からBMS単体の変換ができるようになった 変換時スクリプトVMの初期化をするようにした 変換時スクリプト関数呼び出しができるようになった 変換時スクリプト関数呼び出し用のC++関数の整備をした 速ければ今月中にはテスト版を出せるか…

記録

昨日も作業したけど記録するのを忘れてた ログ出力実装 ステータスバーにソート状態を表示するように コマンドラインから BMS 指定でリストに追加するように スクリプトのエラーを補足してるか各所のチェック 変換画面のボタンからで、変換したメモリ上の WA…

記録

ソートを実装 同じのを2回押したら逆順にするようにした 画面の大きさ等を保存・読み込みするようにした 流石に他にやること無くなってきたから本流の変換部分の事をやるかな。

記録

色々と落ち穂拾い TODO として後回しにしてた細かい処理を実装とか メニュー・ツールバーに項目を追加 ロングノートの始端と終端が異なっていた場合エラーにするように ロングノートの終端が無かった場合エラーにするように 各種ダイアログのアイコンの設定 …