From 70cffb0f32af67388084879852c3dae87ad9a014 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=BE=E6=B5=A6=20=E7=9F=A5=E4=B9=9F=20Matsuura=20Tomoy?= =?UTF-8?q?a?= Date: Mon, 1 Sep 2025 14:17:33 +0900 Subject: [PATCH] [obsidian] vault backup: 2025-09-01 14:17:33[ --- content/otopoiesis.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/content/otopoiesis.md b/content/otopoiesis.md index 07ea0519..0c550991 100644 --- a/content/otopoiesis.md +++ b/content/otopoiesis.md @@ -186,17 +186,18 @@ fn track_regions(regions:[{start:float,dur:float,generator:()->float}]){ let content = `{ phasor(Param!("freq",20,20000)) } -fn Track(name:string, content:`float)->`float{ - `{ $content |> probe_to_track!(name) } +fn Track(name:string, content:()->`float)-> ()->`float{ + || `{ $content |> probe_to_track!(name) } } -fn master(tracks:[`float])->`float{ - `{ map(tracks,|t| $t ) |> sum } +fn master(tracks:[()->`float])->()->`float{ + Track!("master", ||`{ map(tracks,|t| t!() ) |> sum }) } -let dsp = Track!($master([t1,t2,t3,...])) +let dsp = master([t1,t2,t3...]) ``` +Trackの中でSliderとかが呼び出されると、そのスライダーはトラック内のパラメーターに属していて欲しいが、引数から順番に評価されるので、UI系の関数は全てサンク(レベル0)を受けて遅延評価するようなものでないとNG ### 他 @@ -213,6 +214,7 @@ let dsp = Track!($master([t1,t2,t3,...])) - 再生前(prepareToPlay) - 信号再生時(process) + ## 多段階計算と組み合わせる [[mimiumの多段階計算]]で、それなりに多段階計算の実装が間に合ってきた。