[obsidian] vault backup: 2025-09-04 03:44:03[

This commit is contained in:
2025-09-04 03:44:03 +09:00
parent 7df8fe0ed4
commit b2f4f56784

View File

@@ -242,6 +242,31 @@ Trackの直下でTrackが呼ばれた場合、フォルダトラックとして
Sliderが呼び出された時、初期値を変数参照にするのはあんまり意味がないことになる(リテラルで固定して、それを双方向プログラムしたい) Sliderが呼び出された時、初期値を変数参照にするのはあんまり意味がないことになる(リテラルで固定して、それを双方向プログラムしたい)
一個ずつ順番に考えていこう
```rust
`{
let phasor = | | (self+1.0)% 44100
let dsp:()->float = Project!("test project ",`| | {
let gain = Slider!("gain",`0.5,0.0,1.0)
sin(440*3.1415 * 2*phasor() /samplerate) *gain
})
}
```
これがコンパイル通るところまではいける
ExprNodeIdをオーディオスレッドで直接参照してはいけない(session_globalsがスレッドローカルなので参照ができない)
リテラルの値を`Arc<atomic::F64>`でパースして、それを引き回す
Sliderの値はProbeIdのようにインデックス参照したいので、そのストレージを何処で保持するか問題
SystemPluginは本来スレッドを超えて共有できない状態を共有できてしまう(vmが走っているオーディオスレッドからメインスレッドの値にアクセスしてしまっている)
そうすると状態共有でArcを使用する意味があんまりない
## トラックの追加やリージョンの追加のアクション ## トラックの追加やリージョンの追加のアクション