2024:07:09
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
2024:07:09 [2024/07/09 15:44] – machiaworx | 2024:07:09 [2024/07/12 06:50] (現在) – machiaworx | ||
---|---|---|---|
行 2: | 行 2: | ||
===== プログラム ===== | ===== プログラム ===== | ||
+ | * 進捗 | ||
+ | |||
+ | - ファイル読み込み(最初は同期、可能なら非同期読み込み)\\ 完了。ファイルのセーブ状況検知・UI改善予定 | ||
+ | - Miniscriptプログラムのコンパイル\\ 完了 | ||
+ | - 組込み関数の追加\\ 実装中、実装時の仕様について決定 | ||
+ | - コンパイルしたデータとサウンドの譜面を紐づける実装\\ 未済、着手中 | ||
+ | - ADSR、フィルタの実装、加えてエフェクトの実装\\ 未済 | ||
+ | |||
* ライブコーディングツールの開発中。 | * ライブコーディングツールの開発中。 | ||
* 譜面を読み込ませて偽のWAVデータ生成処理を動かしてみたところ、譜面を正常に出力できてる。これならば問題なさそう。\\ (Callback処理でWAVをバイト単位で生成するので、同様の処理をWhileループで作ってみたお手軽なスタブ) | * 譜面を読み込ませて偽のWAVデータ生成処理を動かしてみたところ、譜面を正常に出力できてる。これならば問題なさそう。\\ (Callback処理でWAVをバイト単位で生成するので、同様の処理をWhileループで作ってみたお手軽なスタブ) | ||
行 10: | 行 18: | ||
* 当初のプログラムに組み込み実施。 | * 当初のプログラムに組み込み実施。 | ||
* 変数については一度仮に値を突っ込んだが、そもそもInterpreterを一度でも起動しておかないとマップ作成ができないらしいので、一度空のソースコードを起動してInterpreterを使える状態にしてから、マップ作成を組み込んでみた。 | * 変数については一度仮に値を突っ込んだが、そもそもInterpreterを一度でも起動しておかないとマップ作成ができないらしいので、一度空のソースコードを起動してInterpreterを使える状態にしてから、マップ作成を組み込んでみた。 | ||
- | * ただ、結論から言うとこの状態だと動かない。組み込み関数経由で情報登録して初めて動いたので、初期化周りでなんかある可能性はある。もしくはContext経由の情報登録でしかうまく更新されない可能性。 | + | * ただ、結論から言うとこの状態だと動かない。組み込み関数経由で情報登録して初めて動いたので、初期化周りで不足がある可能性はある。もしくはContext経由の情報登録でしかうまく更新されない可能性。 |
- | * 色々調査した結果、やはりContext(Interpreterの実行処理)から変数登録を行うのが一番安全ということがわかった。 | + | * 上記より、Context(Interpreterの実行処理)から変数登録を行うのが一番安全ということがわかった。 |
* このため、以下の対応を実施。 | * このため、以下の対応を実施。 | ||
- 保存用インタプリタのインスタンスを用意 | - 保存用インタプリタのインスタンスを用意 | ||
行 21: | 行 29: | ||
* なかなかな回り道ぽいけど、より確実な方法を採用した。 | * なかなかな回り道ぽいけど、より確実な方法を採用した。 | ||
+ | |||
+ | ---- | ||
+ | * また問題発生。 | ||
+ | * 今のところMiniscriptのVM上のグローバル変数について、変数そのものにアクセスして状態を調べることは仕様上困難。(アクセスの時点で識別子が存在しない場合エラー検知する) | ||
+ | * VM上で発生したエラーを握りつぶすこともできるけど、影響範囲がVM全体に及んでしまうので修正を避けることにした。 | ||
+ | * 上記より、別の変数をもってVMに変数を保存しているかを確認する必要がある。 | ||
+ | * 今のところ所定の箇所にbool変数作って管理してみることにした。 | ||
+ | * 使い方としては複数回のコンパイルにも対応する形で変数更新の管理を行うことで、最悪VMがクリアされてもまた全部更新しない扱いに戻す等もできるので割と取り扱いは楽かなと思った。 | ||
+ | * なんか作りがどんどんややこしくなってきてるぞ・・・(汗 | ||
+ | |||
+ | ---- | ||
+ | * [[2024: | ||
+ | * ここ数日は主に3.および4.について対応していた。4.がウェイト高くかつフィージビリティの確認が必要な内容だったけど、本日時点でどうにかできたのでこれでよしとする。 | ||
+ | * とは言うものの、まだ中途半端な状態なので、再生システムと3.を紐づけて更新できれば完了というところ。 | ||
---- | ---- |
2024/07/09.1720507463.txt.gz · 最終更新: 2024/07/09 15:44 by machiaworx