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

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

bmx2wav

記録

一応毎日少しずつやってます。 今はCore と被らない部分をやっているのだけどそろそろ被る部分をやらないとダメそうで、そこをいじりだすとCoreの更新が出来なくなるのでどうしようかなと。 でもまあ正式に公開しないと使ってくれる人も少ないし正式版に向け…

記録

コードは書けるところは書いているのだが、どうにも固まってない部分がいくつもあって それが決まらないと書けない書きづらい部分もたくさんあって中々進まない感じ。 まあ設計中とも言えるのだが。まあこの段階はこんなもん。

記録

本体のI/Fについて考慮 当初は ドロップリストで変換設定(名前を付けられる)を複数用意してそれから1つを選択する 変換BMS一覧リストの中のBMSはデフォルトは選択中の設定で変換する BMS毎に変換設定リストの中のどれかを選べば個別の設定にできる という…

記録

本体の一覧表示は searcher の一覧表示とほぼ同じ事から searcher から移植な感じを進める が、結構違うのだけど似てるせいでかなりこんがらがってしまい結構しんどい けど、BMS のヘッダ情報等を表示までは出来たのでそれをベースに色々遣っていくか http:/…

記録

スクリプト関連のベースとなる部分を考えたりする とりあえずはガワと最低限の中身だけは実装する 既に searcher でそこそこやっているのでそれの真似でよさそう 色々と searcher を含めて設計し直しというか整理しないと駄目そう BMX2WAV 本体は思ったより…

記録

正式版の開発はとりあえずは自分制作のアプリの定番骨格を作っていける所まで作っていった。 バージョン情報ダイアログとかそういうの。 ある程度出来たのでここからはどう使わせたいかとかを含めて全体の設計を考えて行く。これはしばらくかかるかな。 分解…

記録

アイコンを組み込む 今までのテスト版を core としてファイル名やプロジェクト名等の整理整頓をする。 本番用のプロジェクトを作成してとりあえず骨組みだけ作成。 http://hitkey.nekokan.dyndns.info/diary2005.php#D200505 unicode 対応 正直言うと経験が…

BMX2WAV v2 Core TEST ( 2020/05/04 )

http://childs.squares.net/program/bmx2wav_new/bmx2wav.html 一部誤字を修正。 ランダム構文選択ダイアログの「構文に従ってチェックする」の際に、適応しない #IF の配下の要素のチェックを外すようにした。 ランダム構文選択ダイアログの表示中の時間は…

記録

メインのアイコンを作成してみた。あまり良い出来ではないがまあしゃーなし。 http://hitkey.nekokan.dyndns.info/diary2005.php#D200502お返事 分解能について 分解能は小節毎に違う値を持つがその値は unsigned int (32bit)で管理してるので現状では約42…

BMX2WAV v2 Core TEST ( 2020/05/01 )

http://childs.squares.net/program/bmx2wav_new/bmx2wav.htmlBMX2WAV v2 のテスト版で、このバージョンより GUI が充実したので1ファイル単位の変換に関しては実用として使えるレベルになったのではないかと思っています。是非とも使ってバグがあればここの…

記録

色々と詰め作業 細かいメッセージの追加とか出すべきメッセージを出すようにするとか 割と例外的なエラー時の動作を実際に確認しながらやるとか あとはメインGUIの整備とか?まあこれは仮なんで適当にやるだけだけど。

記録

ランダム構文用ダイアログの実装 実際の処理に組み込んでみて意図通り動く事を確認 ランダム構文用としては結構画期的じゃないかと 分解能制限指定機能とメモリ使用制限機能を使って Blackcity_spa.bme を変換してみる 分解能は185502721を指定、メモリは240…

記録

変換ダイアログの実装 エラー関係含め複雑ではあったが一通り実装できたと思う 次はランダム構文用のダイアログの実装したら公開可能な感じか。

記録

BMX2WAV 20200426 変換中のダイアログの実装 各処理中での処理とかスレッド処理とか実装 しっかり整理したのでかなり記述しやすくてよろしい 構文解析周りはまだだけど、あと2~3日程度で公開出来るモノが出来そうな雰囲気

記録

分解能の制限の設定のやつの修正 変換設定の読み込みと書き込みを実装 変換画面の状態遷移とマルチスレッドのやりとりとコールバックの仕組みとスクリプトによる処理差し込みとかの絡みを考えてたら時間が時間が。

記録

変換ダイアログの実装。 マルチスレッドでの実装なのでちとやっかい まあそこはv1と同じなので旧ソースを参考にすればいい 変換部とのやりとり用の仕組みを作ったのでこれからは何か処理を入れ込みたくなっても簡単に組み込めるかと http://hitkey.nekokan.d…

記録

変換設定ダイアログの詰め作業をしてとりあえずは完成した感じかな。 ランダム構文用のダイアログの作業は思ったより量が少なかったのでほぼ完成気味 変換中ダイアログから呼び出すのでそちらが完成してからそこから連携をする感じなので残りは詰め作業と

記録

他のダイアログの実装が(目処は付いたが)まだ終わる前にランダム用のダイアログを実装に移った まあまあ複雑だが、変換時の一番の問題であったランダムの良い解決方法なのでちゃんと実装したい。

記録

仕事が無くなって暇になってしまったので勤務時間中にプログラミングし始めてしまった。 squirrelスクリプトライブラリの64bit 対応 変換時のダイアログ実装中 変換設定編集ダイアログ実装中

BMX2WAV v2 Core TEST ( 2020/04/16 )

http://childs.squares.net/program/bmx2wav_new/bmx2wav.html エラーになった場合の動作の仕組みを変更(前回の構文解析時のメッセージのまとめの延長) 軽微なエラーなら変換続行、重いエラーでもある程度は続行するような感じに ogg に出力する際に最後尾…

記録

エラーメッセージ関連のチェックをしてそろそろ次のテスト版の公開をしようかと思っていたところ ogg の出力ファイルの最後尾がおかしくなることがあり調査 バッファ周りの設定がおかしいっぽいので確認して修正 なのでそろそろ次のテスト版公開できそうかな…

記録

エラーメッセージ関連の制御の詰め作業 実際にエラーになるBMSを読み込ませて思った通りに動くかどうかチェック 他メッセージの統一されてない部分などを修正など しかし中断とメッセージやコールバック制御周りは結構複雑である これでも相当整理して判りや…

記録

エラーメッセージ関連をガシガシと実装 即時中断エラーレベルと遅延中断エラーレベルを作った エラー検出時に中断ではなくてある程度処理を続行してある区切りで中断にするようになった。 行番号などのエラー用の情報もガンガンエラー情報に乗せるようにした…

記録

昨日の最大分解能と使用メモリの設定を超えた場合にちゃんとそこで変換を中断するように実装した。 そういや、設定で中断するエラーレベルを指定できるようにしてたのを忘れてた。 今はFatalだと中断するようにしているがこれを NeedFix でも中断するように…

記録

設定ファイルから最大分解能を指定できるようにした 設定ファイルから使用可能メモリサイズを指定できるようにした。 ただし、検出は出来るけどまだちゃんとした中断が入ってないのでその辺の処理は(他のメッセージ関連システムとして)実装待ち

記録

お久しぶりです。移転から3ヶ月。前回更新からは4ヶ月ですか。まあ年末年始とか色々ありました。正直言うとゲームもやってた。 まあ仕事はだいぶ落ち着いたし週末は家に居ることが多くなったしこれからもなりそうなんでぼちぼちやりますかね。 前やった続き…

記録

http://hitkey.nekokan.dyndns.info/diary1908.php#D191119 未定義オブジェクトの使用 中断するしないは、構文解析部では中断無しで変換部では中断するようになっています。変換部はまだ中断無しにしてないってだけ。外から見ても判らんのだけども。けども、…

BMX2WAV v2 Core TEST 2019/10/22

http://childs.squares.net/program/bmx2wav_new/bmx2wav.html 分解能の制限を 131072 に変更 BMS 構文解析時のエラーメッセージを後でまとめて出すようにした。 微少標本廃棄ノーマライズ(デフォルト設定)の速度が速くなった。 起動時に設定ファイル(.ini…

記録

メッセージ周りを整理していたのだけどもどうにも整理しきれない やる気もだいぶ失せてきたので、放っておいて変換パラメータ関連の処理を実装する ノーマライズ種別と音量を実装 変換開始終了とトリミング開始終了を実装 次はBGAチャンネル無視をどうするか…

記録

微少標本廃棄ノーマライズの新しいアルゴリズムを思いついたので実装してみる。 結果、更に2倍~60倍(打ち間違えではない)になった。すごい。