Skip to content

EZ Web Audio / GainEffect

Class: GainEffect ​

Defined in: packages/core/src/effects/gain-effect.ts:22

GainEffect - A thin wrapper around GainNode that implements the Effect interface.

For a single-node effect like GainEffect:

  • input and output both point to the same GainNode
  • bypass sets gain to 1.0 (passthrough), stores/restores the previous value
  • mix controls how much of the effect is applied (0=passthrough, 1=full effect)
  • value is the gain amount applied when not bypassed

Example ​

typescript
const gain = createGainEffect(audioContext, 0.5)
gain.value = 0.8  // Set gain to 80%
gain.bypass = true  // Passthrough (gain becomes 1.0)
gain.bypass = false // Restore to 0.8

Implements ​

Constructors ​

Constructor ​

new GainEffect(audioContext, initialValue): GainEffect

Defined in: packages/core/src/effects/gain-effect.ts:30

Parameters ​

audioContext ​

AudioContext

initialValue ​

number = 1.0

Returns ​

GainEffect

Accessors ​

bypass ​

Get Signature ​

get bypass(): boolean

Defined in: packages/core/src/effects/gain-effect.ts:63

When true, gain becomes 1.0 (passthrough). When false, restores the previous gain value.

Returns ​

boolean

Set Signature ​

set bypass(v): void

Defined in: packages/core/src/effects/gain-effect.ts:67

When true, effect is bypassed (passthrough)

Parameters ​
v ​

boolean

Returns ​

void

When true, effect is bypassed (passthrough)

Implementation of ​

Effect.bypass


input ​

Get Signature ​

get input(): AudioNode

Defined in: packages/core/src/effects/gain-effect.ts:38

The input AudioNode (same as output for single-node effect)

Returns ​

AudioNode

The input AudioNode that receives signal from the chain

Implementation of ​

Effect.input


mix ​

Get Signature ​

get mix(): number

Defined in: packages/core/src/effects/gain-effect.ts:83

Wet/dry mix: 0 = passthrough (gain of 1.0), 1 = full effect. Mix interpolates between 1.0 and the set value.

Returns ​

number

Set Signature ​

set mix(v): void

Defined in: packages/core/src/effects/gain-effect.ts:87

Wet/dry mix: 0 = fully dry (no effect), 1 = fully wet (full effect)

Parameters ​
v ​

number

Returns ​

void

Wet/dry mix: 0 = fully dry (no effect), 1 = fully wet (full effect)

Implementation of ​

Effect.mix


output ​

Get Signature ​

get output(): AudioNode

Defined in: packages/core/src/effects/gain-effect.ts:43

The output AudioNode (same as input for single-node effect)

Returns ​

AudioNode

The output AudioNode that sends signal to the next in chain

Implementation of ​

Effect.output


value ​

Get Signature ​

get value(): number

Defined in: packages/core/src/effects/gain-effect.ts:48

The gain value (0.0 to any positive number)

Returns ​

number

Set Signature ​

set value(v): void

Defined in: packages/core/src/effects/gain-effect.ts:52

Parameters ​
v ​

number

Returns ​

void

Methods ​

dispose() ​

dispose(): void

Defined in: packages/core/src/effects/gain-effect.ts:111

Disconnect the internal GainNode. Idempotent — safe to call multiple times.

Returns ​

void

Implementation of ​

Effect.dispose