This file is indexed.

/usr/share/SuperCollider/HelpSource/Classes/IEnvGen.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
46
47
48
49
50
51
52
53
54
55
56
57
class:: IEnvGen
summary:: Envelope generator for polling values from an Env
categories:: UGens>Envelopes
related:: Classes/Env

description::
Envelope generator for polling values from an envelope. IEnvGen plays back break point envelopes from the code::index:: point. The envelopes are instances of the link::Classes/Env:: class.

classmethods::
private:: categories, new1

method:: ar, kr

argument:: envelope
an instance of Env (this is static for the life of the UGen)
argument:: index
a point to access within the Env
argument:: mul
argument:: add

instancemethods::
private:: init, argNamesInputsOffset, convertEnv

examples::

code::
(
{
	var env =  Env([0, 0.6, 0.3, 1.0, 0], [0.1, 0.02, 0.4, 1.1], [\lin, \exp, -6, \sin]);
	var envgen = IEnvGen.kr(env, MouseX.kr(0, env.times.sum));
	env.plot;
	SinOsc.ar(envgen * 500 + 440)
}.play;
)

// index with an SinOsc ... mouse controls amplitude of SinOsc
// use offset so negative values of SinOsc will map into the Env
(
{
	var sin = SinOsc.ar(440, 0, MouseX.kr(0, 1));
	// use offset so negative values of SinOsc will map into the Env
	var env = Env([-1, -0.7, 0.7, 1], [ 0.8666, 0.2666, 0.8668 ], \lin, offset: -1.0);
	IEnvGen.ar(env, sin) * 0.1
}.play;
)

// index with Amplitude of input, control freq of SinOsc (uses SoundIn)
(
{
	var point = Amplitude.ar(SoundIn.ar(0), 0.01, 0.2);
	// use offset so negative values of SinOsc will map into the Env
	var env = Env.xyc([[0, 330, \exp], [0.5, 440, \exp], [1.0, 1760]]);
	SinOsc.ar(IEnvGen.kr(env, point)) * 0.2
}.play;
)

::