2024:07:10
文書の過去の版を表示しています。
7/10日記
3時頃開始。
プログラム
- ライブコーディングツール、ようやく動くものになった。
- 今年後半がとても忙しくてくたばりそうになってる可能性が高いので、動くものは今のうちに作っておきたかった。
- 動くものがあれば、あとはイベント用に作るとか完成までもってく等選択肢は存在するので。
プログラム2
- ライブコーディングツールの進捗。
- 変数ウォッチ関数の仕様整理。
- 何回もコンパイルすることを求めるので、そのたびにデータが空になることを考慮すると、状態を積み重ねるのではなく一度リセットすると考える方が自然なので、毎回フラグを開放して、関数が出るたびに再生時にチェックを入れることにした。
- 再生部分の機能追加。譜面が動的に登録されていたら再生する処理を追加。
- ただ、波形レンダリングの処理を直接触れないと特定タイミングで周波数変更というのができないので、オシレータ再生の処理に対し譜面情報を見れるように処理を追加する必要がある。
- そのために「周波数の変更処理」「周波数変更に伴うパラメータ調整処理」を追加した上で、オシレータ部分に情報を追加する形になった。
- これだともうオシレータ処理に対しアンプ+フィルタ処理突っ込むことになりそうだがそれでいいのだろうか・・・と疑問はある。
- むしろバイト単位のアクセスにたどり着いたらオシレータ・アンプ・フィルタにアクセスするほうがいいのではと思った。
- 責任分界点に明確にするための副作用って感じがする。
- その他、値のメモリの持ち方も注意しないと前の情報が残ってしまうので、関数はstaticにするものの、関数内で値を格納する変数はstaticにしないほうが安全。
- どうしても情報を長期間持ちたいなら関数の外側でstaticにして持たせる必要がある。
- つまり、何回も関数を実行しようとしたときに、同じデータを持ち続けているかという話になるため注意。
- そうさせないためにはローカル関数で確保する等が必要(なときがある)
- 本来ならクラスに分けて管理のほうがいいと思うけど。
- あとMIDI出力についてどうしようという問題がある。
- 全部シンセを作ってから作曲というのも時間がかかるので、MIDI出力だけ行ってLive側で音色作るというのは便利になるはず。
- 内部ルーティングについてはloopMidiを導入済みなのでこれは可能。
- タイマー制御のコールバック関数じゃないとMIDI出力を正常に行えないのでは?と思い始めてる。
- ただどうもコールバックの仕組み自体ない模様。
- これ・・・自分でThread作ってそれをぶん回す運用じゃないと駄目かな
その他
- 今年の夏対策のひとつに、エアコンのフィルタ掃除した。
- 驚くほどに効果が上がってる。涼しい。
2024/07/10.1720605478.txt.gz · 最終更新: 2024/07/10 18:57 by machiaworx