hsc3-0.2: Help/UGen/Demand/dbufwr.help.lhs
dbufwr bufnum phase input loop
Buffer demand ugen. All inputs can be either
demand ugen or any other ugen.
bufnum - buffer number to read from (single channel buffer)
phase - index into the buffer
input - single channel input
loop - when phase exceeds number of frames in buffer,
loops when set to 1 (default :1)
> do { s1 <- dseries 30 0 3
> ; s2 <- dseries 30 0 1
> ; s3 <- dseries 16 1 1
> ; s4 <- dwhite 8 1 16
> ; s5 <- dseq dinf (mce2 s3 s4)
> ; wt <- dust KR 1 {- write trigger -}
> ; rp <- dseries dinf 0 1 {- read pointer -}
> ; wp <- dseq dinf (mce2 s1 s2) {- write pointer -}
> ; r <- dbufrd 0 rp Loop {- reader -}
> ; w <- dbufwr 0 wp (s5 * 60) Loop {- writer -}
> ; let { d = demand wt 0 w
> ; f = lag (demand (impulse KR 16 0) 0 r) 0.01
> ; o = sinOsc AR (f * mce2 1 1.01) 0 * 0.1
> ; g = mrg [d, out 0 o]
> ; run fd = do { async fd (b_alloc 0 24 1)
> ; send fd (b_setn 0 [(0, (replicate 24 210))])
> ; play fd g } }
> in withSC3 run }