/usr/share/SuperCollider/HelpSource/Classes/Dconst.schelp is in supercollider-common 1:3.8.0~repack-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | TITLE:: Dconst
summary:: Constrain a demand-rate stream to a given sum
categories:: UGens>Demand
DESCRIPTION::
A demand-rate analog to link::Classes/Pconst::. It outputs values from the child demand stream until the sum of those values reaches or exceeds a given total. The last value will be truncated so that the sum of Dconst's output values will match the total exactly.
CLASSMETHODS::
METHOD:: new
ARGUMENT:: sum
The sum to reach. This may be a number, demand UGen or any other UGen. When a Dconst instance resets, one value will be taken for the sum, and it can't be modulated until the next reset.
ARGUMENT:: in
A demand-rate stream, providing the output values.
ARGUMENT:: tolerance
Because of floating point rounding error, it isn't safe to stop only when the output's running sum is equal to the desired total. teletype::tolerance:: is how close the running sum can get to stop the output: code::abs(runningsum - sum) <= tolerance::.
returns:: A demand-rate stream.
EXAMPLES::
code::
// fast notes of random duration for 0.5 seconds
// then a single note for 0.5 seconds
(
a = {
var freq = Duty.kr(
Dseq([
Dconst(0.5, Dwhite(0.05, 0.08, inf)),
0.5
], inf),
0,
// workaround for the lack of Dexprand
Dwhite(0, 1, inf).linexp(0, 1, 200, 600)
);
VarSaw.ar(Lag.kr(freq, 0.02), 0, 0.3, 0.1).dup
}.play;
)
a.free;
::
|