[obsidian] vault backup: 2025-08-28 21:21:11[
All checks were successful
Build / build (push) Successful in 14m40s
All checks were successful
Build / build (push) Successful in 14m40s
This commit is contained in:
@@ -154,24 +154,43 @@ fn sinosc(freq,amp){
|
||||
// --ここから上はstage 1 value
|
||||
|
||||
//track_1はstage0として参照する
|
||||
let track1 = Track(|| phasor(1.0)|> scale(_,0.0,1.0,100,4000))
|
||||
let track1:`()->float = Track(|| phasor(1.0)|> scale(_,0.0,1.0,100,4000))
|
||||
|
||||
//track1をfrequencyとして参照することにする
|
||||
|
||||
let r1 = {
|
||||
start: 100ms,
|
||||
dur: 1000ms,
|
||||
content: || sinosc(track1(), 1.0)
|
||||
content: || sinosc($track1(), 1.0)
|
||||
}
|
||||
|
||||
let regions = [r1,r2,...]//regionの列はstage0のvalue
|
||||
|
||||
let track3 = track_regions(regions)
|
||||
|
||||
```
|
||||
|
||||
```rust
|
||||
|
||||
fn track_regions(regions:[{start:float,dur:float,generator:()->float}]){
|
||||
Track()
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
## トラックのランタイム構造
|
||||
|
||||
```
|
||||
fn Track()
|
||||
```rust
|
||||
|
||||
fn Track(content:()->float)->`()->float{
|
||||
let thunk = bind_to_runtime(content)//ここでprobeも行うことで、波形とメーター表示をする
|
||||
thunk
|
||||
}
|
||||
|
||||
fn master(tracks:[`()->float])->`()->float{
|
||||
`{ || map(tracks,|t| $t() ) |> sum}
|
||||
}
|
||||
let dsp = Track!($master([t1,t2,t3,...]))
|
||||
|
||||
```
|
||||
|
||||
|
Reference in New Issue
Block a user