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

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

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

移転

移転しました。元のサイトは http://bms.g.hatena.ne.jp/temtan でした。 データ形式が互換性ないのでスクリプト書いて変換してたら結構時間を使ってしまった。ぐぬぬ。

記録

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倍(打ち間違えではない)になった。すごい。

記録

微少標本廃棄ノーマライズのアルゴリズムを色々と改良して速度アップを図り、結果速くなる。 計測してみたら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ファイルもフォルダとして読んでしまってた。直す必要あり。 フォルダ単位で呼び出す関数はまだ未実…