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

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

2020-01-01から1年間の記事一覧

BMX2WAV のソースを github にあげた

github にソースを公開しました。https://github.com/temtan/bmx2wavもし自前でコンパイルしたいのなら以下の流れで作業が必要になります。 VC++ のコンパイル環境を用意する 自分は Visual Studio Build Tools 2019 です 普通は Visual Studio Community に…

github にあげる為の準備

github にあげる為の準備をしています。 とりあえず、ライブラリ部分の ttl と tt_squirrel 部分のアップロードをしましたんで もし BMX2WAV をソースからコンパイルして作りたいのならこちらをコンパイル出来る状況にする必要があります。GitHub - temtan/t…

BMX2WAV 2.0.0

満を持して BMX2WAV 2.0.0 を公開しました。http://childs.squares.net/program/bmx2wav/index.htmlv1 から大きな変更点は 最新環境で一から作り直した なので全体的に高速になっています。 インターフェースも大幅に変更 64bit 化によりメモリ不足で変換出…

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を振って出るのを確認して終了。 既に職業プログラマじゃなくなっ…

BMX2WAV 1.ZZ.04

http://childs.squares.net/program/bmx2wav_new/bmx2wav.html 【バグ修正】変換設定の「ファイルパスとして使用できない文字があった場合削除する」が ON の時にファイルパスがおかしくなる場合があったのを修正 【バグ修正】《searcher》 使用しているとメ…

記録

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.02

http://childs.squares.net/program/bmx2wav_new/bmx2wav.html 【機能追加】以下の場所で環境変数(%USERPROFILE%等)を展開をするようにした 変換時のスクリプトファイル指定 変換時のログファイル指定 変換後の出力ファイル WAV ファイル読み込み 【機能追…

記録

https://bmx2wav.hatenadiary.jp/archive/2020/06/26お返事。 今回の版でBMX2WAVは旧1.3系と同等以上の機能的特徴を備えるようになった。たとえばBMS filesの複数一括変換などが可能になった。 ちょっと足りなくてフォルダ指定からの再帰的に BMS ファイルを…

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 と同じま…