rsc3/doc/help/ugen/demand/duty.help.scrbl
2022-08-28 12:27:01 +02:00

51 lines
1.3 KiB
Racket

#lang scribble/manual
@(require (for-label racket))
@title{(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: a doneAction that is evaluated when the duration stream
ends.
level: demand ugen providing the output values.
@racketblock[
(let* ((f (duty kr
(drand dinf (mce3 0.01 0.2 0.4))
0
2
(dseq dinf (make-mce (list 204 400 201 502 300 200)))))
(o (sin-osc ar (mul f (mce2 1 1.01)) 0)))
(audition (out 0 (mul o 0.1))))
]
@racketblock[
(let* ((f (duty kr
(mouse-x kr 0.001 2 1 0.1)
0
2
(dseq dinf (make-mce (list 204 400 201 502 300 200)))))
(o (sin-osc ar (mul f (mce2 1 1.0)) 0)))
(audition (out 0 (mul o 0.1))))
]