scide: LookupDialog - redo lookup on classes after partial lookup
[supercollider.git] / SCClassLibrary / Common / Audio / EnvGen.sc
blob7e79b6c9a2e376af2578ccc67e803df18340eee2
1 Done : UGen {
2         *kr { arg src;
3                 ^this.multiNew('control', src)
4         }
7 FreeSelf : UGen {
8         *kr { arg in;
9                 this.multiNew('control', in);
10                 ^in
11         }
14 PauseSelf : UGen {
15         *kr { arg in;
16                 this.multiNew('control', in);
17                 ^in
18         }
21 FreeSelfWhenDone : UGen {
22         *kr { arg src;
23                 ^this.multiNew('control', src)
24         }
27 PauseSelfWhenDone : UGen {
28         *kr { arg src;
29                 ^this.multiNew('control', src)
30         }
33 Pause : UGen {
34         *kr { arg gate, id;
35                 ^this.multiNew('control', gate, id)
36         }
39 Free : UGen {
40         *kr { arg trig, id;
41                 ^this.multiNew('control', trig, id)
42         }
45 EnvGen : UGen { // envelope generator
46         *ar { arg envelope, gate = 1.0, levelScale = 1.0, levelBias = 0.0, timeScale = 1.0, doneAction = 0;
47                 envelope = this.convertEnv(envelope);
48                 ^this.multiNewList(['audio', gate, levelScale, levelBias, timeScale, doneAction, envelope])
49         }
50         *kr { arg envelope, gate = 1.0, levelScale = 1.0, levelBias = 0.0, timeScale = 1.0, doneAction = 0;
51                 envelope = this.convertEnv(envelope);
52                 ^this.multiNewList(['control', gate, levelScale, levelBias, timeScale, doneAction, envelope])
53         }
54         *convertEnv { arg env;
55                 if(env.isSequenceableCollection) { ^env.reference }; // raw envelope data
56                 ^env.asMultichannelArray.collect(_.reference).unbubble
57         }
58         *new1 { arg rate, gate, levelScale, levelBias, timeScale, doneAction, envArray;
59                 ^super.new.rate_(rate).addToSynth.init([gate, levelScale, levelBias, timeScale, doneAction]
60                         ++ envArray.dereference);
61         }
62         init { arg theInputs;
63                 // store the inputs as an array
64                 inputs = theInputs;
65         }
66         argNamesInputsOffset { ^2 }
69 Linen : UGen {
70         *kr { arg gate = 1.0, attackTime = 0.01, susLevel = 1.0, releaseTime = 1.0, doneAction = 0;
71                 ^this.multiNew('control', gate, attackTime, susLevel, releaseTime, doneAction)
72         }