7/1日記 ===== プログラム ===== * ライブコーディングツールの進捗。 * 波形の指定位置を変更。これによって他の波形も楽に出せるようになった。 * ただ波形出力のために関数の改造が必要になった。 * 元々改造を想定してIF定義部分を切り出していたので好都合だった。容赦なく改造。現在利用中の設定にて関数の内容を変更。 * これでトラック単位で基本波形が簡単に出るようになった。 * とりあえずサイン・矩形・三角波・のこぎり波は出力できるようにした。 * ゼロから始めてここまでで5日。ライブラリ使うのもスムーズだったのでそれほど時間かかってないかなと。 ---- * データサーバモジュールを作成開始。(クラスで分けてるわけでもないので) * まず簡単にシーケンスを分割するように管理データを作ってみる。 * あとはstaticで全体の秒数を進める関数とシーケンスの位置・シーケンス番号を返す関数のプロトタイプ定義だけしておいた。 * 最悪最初は定期的に内部でカウントした情報を返すとかでも良かろう。 * オシレータ部分はできたので、ここから再生フラグ・各シーケンスの発音周波数・シーケンスの発音状況(ONにしてる、発音開始から何バイト分経過してる等)がわかれば運用は可能。 * まずは再生フラグとシーケンスの周波数かな。 ---- * 音の長さでADSRの定義をリセットして、別途Ampの値を返せるようにしてみよう。 * 以前メガデモ用のシンセ作ったときは計算量を省く目的で「加減算だけでADSRを実装した」んだけど、今回はその制約を取っ払って急激に値が変更しないADSRを実装したほうがいいかなと思ってる。 * 直線的に値が変更するというのは実機とかではどうも少ないらしく、割と曲線的になるみたい(logとかのカーブが組み込まれる) ---- * ファイル読み込みも将来的につけないとな。とは言うもののまずはファイル名は固定にしておく。 * https://suzulang.com/opengl-try-glfw-multi-window/ ===== その他 ===== * 自分は今のところ緑内障で視野が欠けてる。 * ただその欠けた部分が認識できてる状態ではない。 * いったいどこが欠けてるのかとふと確認してみたところ、どうも該当箇所が「見えてはいるみたいだが詳細が分からない」ことが分かった。 * STGをプレイしてるときもだいたいは見えるけどどこかが見えてなくて被弾みたいなケースが多発していたので、どうしてだろうと思ったけど、つまりぼやけた(欠けた)視野で像を結ぼうとしていた状態だったから見えなかったわけだ。 * ハッハッハなるほど。 * まぁどうしようもないし、別のアプローチでSTGを遊ぶまでさ。