ユーザ用ツール

サイト用ツール


2024:06:27

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
2024:06:27 [2024/06/28 00:45] machiaworx2024:06:27 [2024/06/28 05:35] (現在) machiaworx
行 8: 行 8:
  
 ===== プログラム ===== ===== プログラム =====
-  * まずre:code開発再開のために色々準備してた。+  * まずライブコーディングツール・re:code開発再開のために色々準備してた。
  
-  - dear imguiのコンパイル環境(適当に使えるglfw+OpenGL3で実装予定)+  - dear imguiのコンパイル環境構築(適当に使えるglfw+OpenGL3で実装予定)
   - miniaudioの組込み   - miniaudioの組込み
   - Miniscriptの組込み   - Miniscriptの組込み
行 23: 行 23:
 ===== プログラム2 ===== ===== プログラム2 =====
   * どうもminiaudioとしては、勝手にバッファを読んだりして勝手に書き込むのを前提に作られてる様子。   * どうもminiaudioとしては、勝手にバッファを読んだりして勝手に書き込むのを前提に作られてる様子。
-  * となると、今までの「譜面を読んで再生」という部分についてもIFを作成して更新するという方法が必要そう。 +  * となると、今までの「譜面を読んで再生」という部分についても専用にインターフェース的な構造体を作成して更新するという方法が必要そう。
-  * Re:codeのプログラムは元々「特定のトラックの発音ON/OFFは再生時間依存にして」おり、再現性のある再生方式にはできてるかと思うけど、元々シングルスレッドで動くのを前提にした実装で作っていたので、オシレータの状態を残す等色々調整の必要がありそう。 +
-  * 逆に再現性のある方式にできないと辛いかなとは思った。 +
-  * 解決法として、バッファを書き込むとわかった時点でその分のバッファを作成するようにしないと辛そう。これはバッファ書き込みタイミングで内部で参照した時点で生成しておくのが安全そう。+
  
 ---- ----
-  * あとは専用のIF(構造体)をもってバッファを埋めるみたい。 +  * サイン波を出力するインタフェース(今回は構造体)の中身確認してみたところ、それほど問題なく改造できそうな気がしてきた
-  * サイン波を出力するIFの中身確認してみたところ、それほど問題なく改造できそうな気がしてきた+
   * 数日かけて単純に自前の波形、もしくはプログラム上の譜面から波形を書けるようなプログラムを書いてみる。   * 数日かけて単純に自前の波形、もしくはプログラム上の譜面から波形を書けるようなプログラムを書いてみる。
  
 ---- ----
   * 以上を踏まえて、今日時点で一度Waveform(基本波形を出力する構造体)をもう1種類作るフリして魔改造を施して、作った構造体経由で時間管理することにした。(書いてて謎な内容だが)   * 以上を踏まえて、今日時点で一度Waveform(基本波形を出力する構造体)をもう1種類作るフリして魔改造を施して、作った構造体経由で時間管理することにした。(書いてて謎な内容だが)
-  * 要は基本波形が出力できる構造体と関数をヘッダとして作成して、その中身を改造し始めたということ。+  * 要は基本波形が出力できる構造体と関数を新規に用意したヘッダ作成して、その中身を改造し始めたということ。
   * 試しにタイムスケジュールを自前管理にして波形にアクセスしてみたところ、ほぼ問題なさそう。波形自体は他の関数からの参照のため、完全には手が出せてないが、概ね問題ない。   * 試しにタイムスケジュールを自前管理にして波形にアクセスしてみたところ、ほぼ問題なさそう。波形自体は他の関数からの参照のため、完全には手が出せてないが、概ね問題ない。
   * 今後波形の変調やシーケンサからのデータ取得を行って、ライブコーディングツールとしての体裁を整えていく。   * 今後波形の変調やシーケンサからのデータ取得を行って、ライブコーディングツールとしての体裁を整えていく。
   * なので作った関数経由でシーケンスにアクセスする等の対応が必要。   * なので作った関数経由でシーケンスにアクセスする等の対応が必要。
-  * あとコールバック関数で動いてるので、1個の領域にアクセスせずにダブルバッファみたいに作る必要がありそう。こちらはMiniscript側の問題なので工夫すればどうにかなりそう。+  * あとコールバック関数で動いてるので、シーケンスを参照する場合1個の領域にアクセスせずにダブルバッファみたいに作る必要がありそう。こちらはMiniscript側の問題なので工夫すればどうにかなりそう。
   * 初めて触るライブラリなのにハック前提で使うことになるとは思わなかった。   * 初めて触るライブラリなのにハック前提で使うことになるとは思わなかった。
  
2024/06/27.1719503140.txt.gz · 最終更新: 2024/06/28 00:45 by machiaworx