class:: Pconst summary:: constrain the sum of a value pattern related:: Classes/Pfindur, Classes/Pfin, Classes/Pfinval categories:: Streams-Patterns-Events>Patterns>Repetition description:: Similar to link::Classes/Pfindur::, but works with the value directly. note:: Be careful if this is used, directly or indirectly, for a note-length parameter! The difference may be very small and this could result in zombie nodes, due to a bug in link::Classes/EnvGen:: for very short sustain times. :: ClassMethods:: method::new Embeds elements of the strong::pattern:: into the stream until the sum comes close enough to strong::sum::. At that point, the difference between the specified sum and the actual running sum is embedded. Examples:: code:: ( var a, x; a = Pconst(5, Prand([1, 2, 0.5, 0.1], inf)); x = a.asStream; 9.do({ x.next(Event.default).postln; }); ) //Pconst used as a sequence of pitches ( SynthDef(\help_sinegrain, { arg out=0, freq=440, sustain=0.05; var env; env = EnvGen.kr(Env.perc(0.01, sustain, 0.2), doneAction: Done.freeSelf); Out.ar(out, SinOsc.ar(freq, 0, env)) }).add; ) ( Pn( Pbind( \dur, Pconst(1, Prand([1, 0.02, 0.2], inf)), \instrument, \help_sinegrain, \degree, Pseries(0, 1, inf), \octave, 6 ) ).play; ) ::