IEnvGen

object IEnvGen extends ProductReader[IEnvGen]

Envelope generator UGen with random access index pointer into the break-point function.

'''Warning''': The envelope must be generated using IEnv not Env . IEnv has a completely different format. Using the wrong format ( Env ) may crash the server.

To construct a manual envelope without the use of the IEnv class, the format should be as follows:

val env = Seq[GE](offset, startLevel, numSegments, totalDuration,
duration1, curveType1, curvature1, targetLevel1,
duration2, curveType2, curvature2, targetLevel2
...)

===Examples===

// mouse controls index
play {
 import Curve._
 val env = IEnv(0, Seq(
   (0.10, 0.6, lin),
   (0.02, 0.3, exp),
   (0.40, 1.0, parametric(-6)),
   (1.10, 0.0, sine)))
 val dur = Mix(env.segments.map(_.dur))
 val gen = IEnvGen.kr(env, MouseX.kr(0, dur))
 SinOsc.ar(gen * 500 + 440) * 0.2
}
See also
Companion
class
trait Product
trait Mirror
trait ProductReader[IEnvGen]
class Object
trait Matchable
class Any

Type members

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Inherited from
Mirror
type MirroredLabel <: String

The name of the type

The name of the type

Inherited from
Mirror

Value members

Concrete methods

def ar(envelope: GE, index: GE): IEnvGen
Value Params
envelope

the description of the envelope break-points. Typically you pass an instance of IEnv which will then automatically expand to the correct format.

index

index point into the envelope, given as time in seconds

def kr(envelope: GE, index: GE): IEnvGen
Value Params
envelope

the description of the envelope break-points. Typically you pass an instance of IEnv which will then automatically expand to the correct format.

index

index point into the envelope, given as time in seconds

def read(in: RefMapIn, key: String, arity: Int): IEnvGen