packages feed

hsc3-0.2: Help/UGen/Demand/duty.help.lhs

duty rate duration reset doneAction level

Demand results from demand rate ugens

A value is demanded from each ugen in the list and output according
to a stream of duration values.  The unit generators in the list
should be 'demand' rate.  When there is a trigger at the reset
input, the demand rate ugens in the list and the duration are
reset.  The reset input may also be a demand ugen, providing a
stream of reset times.

duration - time values. Can be a demand ugen or any signal.  The next
value is acquired after the duration provided by the last time value.

reset - trigger or reset time values. Resets the list of ugens and
the duration ugen when triggered.  The reset input may also be a
demand ugen, providing a stream of reset times.

doneAction - action evaluated when the duration stream ends.

level - demand ugen providing the output values.

> do { n0 <- drand dinf (mce [0.01, 0.2, 0.4])
>    ; n1 <- dseq dinf (mce [204, 400, 201, 502, 300, 200])
>    ; let f = duty KR n0 0 RemoveSynth n1
>      in audition (out 0 (sinOsc AR (f * mce2 1 1.01) 0 * 0.1)) }

Using control rate signal, mouseX, to determine duration.

> do { n <- dseq dinf (mce [204, 400, 201, 502, 300, 200])
>    ; let { x = mouseX KR 0.001 2 Linear 0.1
>          ; f = duty KR x 0 RemoveSynth n }
>      in audition (out 0 (sinOsc AR (f * mce2 1 1.01) 0 * 0.1)) }