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

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

bmx2wav

記録

微少標本廃棄ノーマライズのアルゴリズムを色々と改良して速度アップを図り、結果速くなる。 計測してみたら2倍~6倍ぐらいの速度になって驚いたです。 全体のエラーメッセージ系の体系を考える 思ったよりも面倒くさいのとなんというか面白みも欠けるのであ…

記録

構文解析時のエラー周りはだいぶ良い感じに出来てきたと思う。 今度は変換中のエラー周りも含めてどう見せるかって感じかな。 その後はエラーメッセージの実装か。 その辺が終わったら今度は変換パラメータ周りかな

記録

パースの構文解析の中断周りの実装をした。 のだけど、考えてみたら中断機能自体必要無いんじゃないかと思い始めた 一応指定すれば出来るようにはするか

記録

BMX2WAV の本体の方の開発に移行 パーサのエラー周りの構造を色々考えながら弄くる 結構色々と弄って変わった感じだが、良い感じに構造が出来たとは思う。

BMX2WAV Searcher 2019/09/23

http://childs.squares.net/program/bmx2wav_new/bmx2wav_searcher.html スクリプトでエントリのメニューを作成出来るようになった。 スクリプト上でメニュー構成(入れ子可能)と、呼び出し時の処理を記述する。 スクリプトでダミーエントリを扱うことがあ…

記録

右クリックメニューに関しては以前作ったアプリの機能をちょいと手を入れれば実現できるっぽい。 構造やらが複雑だったのでソースを眺めてちょいちょい手直ししてたら時間切れ。

記録

DirectSound によるストリーム再生は完成。 スクリプトからパス指定で非同期再生出来ることを確認。 かなり時間がかかってしまったが、その分仕組みはちゃんと勉強できたかと。 今後はそれなりに応用が利くとは思うのでアイデア次第では面白いことができるか…

記録

DirectSound によるストリーム再生の続き 思ったよりも難しく手間取ったが WAV クラスのストリーム再生は出来た のであとは OggファイルやWAVファイルのストリーム再生 あと、このはてなグループの終了問題。 http://hatena.g.hatena.ne.jp/hatenagroup/2019…

記録

DirectSound の続き。 サンプルにしているのが思ったより複雑だったので整理して BMX2WAV で使う機能を絞った設計にしないと

記録

DirectSoundについて勉強する APIレベルでの処理の仕方は理解したので、BMX2WAV上で使用する上で必要なクラス構成を考える。 oggファイル だけでなく wav ファイルや、読み込んだ wav ファイルクラスデータの再生も考慮

記録

wav ファイルはスクリプト上からパスを指定すれば鳴るようになった筈 ogg ファイルの再生について色々調べる デコード(既にBMX2WAV でやってること)をした後にDirectSoundでそのデータを鳴らせば良いっぽい そのためには ogg のデコードもちょい工夫(ダブ…

記録

PlaySound 関数について色々調べて、BMX2WAV で使いそうな使い方を調べていた。

BMX2WAV Searcher 2019/08/17

http://childs.squares.net/program/bmx2wav_new/bmx2wav_searcher.html 分解能の制限を 65536 から倍の 131072 に変更 BMS の構文解析でエラーの場合、スクリプトの標準出力ダイアログに内容を出力するようにした 演奏時間を表示する際に BPM の設定等でエ…

記録

また間が空いてしまった。まあ色々ありまして。 http://hitkey.nekokan.dyndns.info/diary1901.php#D190716 演奏時間の話 BMX2WAV Searcher では今は「最後のオブジェクトが存在する最終小節の最後までの時間」を表示してる 本当なら BMX2WAV で変換した時の…

記録

プレビュー再生関連 ちょい調べた感じだとWAVファイルはPlaySound関数で行けそう ogg はやはり ogg ライブラリ関連を使うっぽいが結構難しそう。コピペで出来そうだけども。

BMX2WAV Searcher 2019/07/07

http://childs.squares.net/program/bmx2wav_new/bmx2wav_searcher.html 設定ファイルを作るようにした。 終了時に画面の大きさ等を保存するようにした 起動時のホームフォルダを設定できるようにした。ただし、設定ファイル(テキストファイル)に HomeFold…

テスト版用のページを作った

BMX2WAV v2 テスト版 http://childs.squares.net/program/bmx2wav_new/bmx2wav.html BMX2WAV Searcher テスト版 http://childs.squares.net/program/bmx2wav_new/bmx2wav_searcher.html BMX2WAV v2 のテスト版公開が半年前とかヤバいですね。どんだけ時間か…

記録

公開用のページを作ってたら思ったより時間がかかってぐぬぬぬぬな感じ。公開は明日で明日で。

記録

サーチが終わったら公開しようと思ってたけどいろいろあって遅れてしまい ソートは以前やったことがあるしすぐに実装出来そうなのでソートが終わってから公開すっか ソートの実装 一通り実装終了 スクリプトのデバッグ周りで手間取ってしまった 昇順と降順の…

記録

サーチはほぼ終わってたのでとりあえず公開するためのスクリプト関数を整理したりしてた とりあえずはサーチして同フォルダ中では PLAYLEVEL が最大のやつのみ抽出するのを作ってみた あーツリーの根元の場合の処理を忘れてた。 明日あたり、その辺実装した…

記録

なんか演奏時間は簡単に実装できるんじゃね?って思ってやったら出来た。 コードはほぼBMX2WAVの変換のロジックを持ってきただけ 正確には最後のオブジェクトがある小節いっぱいまでの時間 スクリプトから呼んでカラム表示できるまでを確認

記録

デフォルトでトグルONに スクリプトの読み込み構成を変えた クラス系の定義のみのファイルと、設定を構成してるファイルで分けた サーチ時にメッセージボックス表示するように サーチ時の後にツリーをクリックした場合はメッセージボックス表示するように 後…

記録

サーチのコア部分はほぼ終わりで実装完了かな あとはちょっとした使い勝手等をちょい用意して終わりか? サーチ時に条件等を表示 サーチした後にツリー移動で警告表示 以下次回やること デフォルトでトグルONをしよう スクリプトの読み込み構成を変えよう

記録

今日はゲームで遊んでしまた。 http://hitkey.nekokan.dyndns.info/diary1901.php#D190618 お返事 カラム表示しない ああ、ごめんなさい、「4のボタンを押すと表示する」か、3のボタンを押された状態でツリーのフォルダをクリックで自動で表示するようになっ…

記録

サーチの実装を進める。 フォルダを再帰的に読み込んでリストアップを実装 読み込んだファイルをスクリプトの関数に渡せるのを確認 再帰的に読み込む際にzipファイルもフォルダとして読んでしまってた。直す必要あり。 フォルダ単位で呼び出す関数はまだ未実…

記録

サーチの実装に向けていろいろと サーチの仕様についてはいろいろ考えてとりあえずは固まった感じ。 スクリプト上のエントリーオブジェクト作成の見直し。 これにより、一度読み込んだ後にカラムを変更しても BMS のパースが発生せず速くなった。 次はディレ…

BMX2WAV Searcher テスト版公開

http://childs.squares.net/program/temp/bmx2wav_searcher_test1906092223.zip コア機能がある程度実装出来たので BMX2WAV Searcher のテスト版を公開します。BMX2WAV Searcher は BMX2WAV に同梱予定のアプリで、BMX2WAV で変換したい BMS ファイルを見つ…

記録

エントリー表示の関数を整理した フィルタやカラムグループ選択時のセル表示等のタイミング整理

記録

デフォルトの機能の為にスクリプトをガシガシと書いていく。 カラム内容自動表示ボタンを機能させた。 各種操作のタイミング時に何を表示するかとかを考える必要アリ カラムグループ選択時の表示 エントリープールの再利用とかのタイミングを考えたり スクリ…

記録

各カラムの表示の実装。ちょい時間がかかったが思った通りに出来てる感じ。 これでスクリプトの中身をある程度充実させたらとりあえずテスト公開はできると思う。 ただし、アプリとしての使い勝手の部分は全然まだまだなので その後はサーチだけどその前に公…