GameOfLife / Unit-Lib

The Unit Library is a system that provides high level abstractions on top of the SuperCollider language.
25 stars 6 forks source link

Make UEnv fade-in, fade-out curves adjustable #20

Closed miguel-negrao closed 8 years ago

miguel-negrao commented 11 years ago

For some sounds I would prefer a slower curve, it would be nice to be able to choose the fade in, fadeout curve.

miguel-negrao commented 11 years ago

maybe add an aditional control to the UEnv, \fadeCurve which is a curve number which is passed to the envelopes ?

DemandEnvGen.kr( 
                Dseq( [ 0, 1, 1, 0, 0 ], 1 ), 
                Dseq( [ fadeIn, dur - (fadeIn+fadeOut), fadeOut, extraSilence ], 1 ),
                \fadeCurve.ukr(1, [0,10,\lin]) 
                doneAction: doneAction )

Then one can pass either an integer or float:

curve
A demand UGen or any other UGen returning curve values. if shape is 5, this is the curve factor. The possible values are: 0 flat segments 1 linear segments, the default 2 natural exponential growth and decay. In this case, the levels must all be nonzero and the have the same sign. 3 sinusoidal S shaped segments. 4 sinusoidal segments shaped like the sides of a Welch window. a Float a curvature value for all segments.

Ok, just noticed that the fadeIn and fadeOut should have opposite signs, but wouldn't be hard to fix above

woutersnoei commented 8 years ago

done :-)