FAudioGMS-Docs/docs/latest/Functions-(Effect-Chains).md

113 lines
5.0 KiB
Markdown

# Effect Chains
## `~_EffectChain_Create()`
**Returns:** Number, an **effect chain ID**
|Argument|Datatype|Description |
|--------|--------|------------------------------------------------------|
|None | | |
Creates a new effect chain that can be modified and applied to sound instances (or the master buss).
 
## `~_EffectChain_Destroy(effectChainID)`
**Returns:** N/A (`undefined`)
|Argument |Datatype|Description |
|---------------|--------|------------------------------------------------------|
|`effectChainID`|number |Effect chain to target |
Destroys an effect chain, freeing memory associated with it.
 
## `~_EffectChain_AddDefaultReverb(effectChainID)`
**Returns:** N/A (`undefined`)
|Argument |Datatype|Description |
|---------------|--------|------------------------------------------------------|
|`effectChainID`|number |Effect chain to target |
Adds a pleasant-sounding default reverb to the effect chain.
 
## `~_EffectChain_AddReverb(...)`
**Returns:** N/A (`undefined`)
|Argument |Datatype|Description |
|------------------|--------|------------------------------------------------------|
|`effectChainID` |number |Effect chain to target |
|`wetDryMix` |number | |
|`reflectionsDelay`|number | |
|`reverbDelay` |number | |
|`earlyDiffusion` |number | |
|`lateDiffusion` |number | |
|`lowEQGain` |number | |
|`lowEQCutoff` |number | |
|`highEQGain` |number | |
|`highEQCutoff` |number | |
|`reflectionsGain` |number | |
|`reverbGain` |number | |
|`decayTime` |number | |
|`density` |number | |
|`roomSize` |number | |
Adds a reverb effect with many (many...) parameters to the effect chain.
 
## `~_SoundInstance_SetEffectChain(soundInstanceID, effectChainID, effectGain)`
**Returns:** N/A (`undefined`)
|Argument |Datatype|Description |
|-----------------|--------|------------------------------------------------------|
|`soundInstanceID`|number |Sound instance to target |
|`effectChainID` |number |Effect chain to apply |
|`effectGain` |number |Gain of the effect. `1` is 100% volume |
Applies an effect chain to the given sound instance.
 
## `~_SoundInstance_SetEffectGain(soundInstanceID, effectGain)`
**Returns:** N/A (`undefined`)
|Argument |Datatype|Description |
|-----------------|--------|----------------------------------------------------------------------------|
|`soundInstanceID`|number |Sound instance to target |
|`effectGain` |number |Gain of the effect already applied to the sound instance. `1` is 100% volume|
Modifies the effect chain gain for the given sound instance. This function will do nothing if no effect chain has been applied.
 
## `~_SetMasteringEffectChain(effectChainID, effectGain)`
**Returns:** N/A (`undefined`)
|Argument |Datatype|Description |
|---------------|--------|--------------------------------------|
|`effectChainID`|number |Effect chain to apply |
|`effectGain` |number |Gain of the effect. `1` is 100% volume|
Applies an effect chain to the master buss, changing how every piece of audio sounds. This function does **not** apply an effect to each individual sound instance, simply the whole output audio.
 
## `~_SetMasteringEffectGain(effectGain)`
**Returns:** N/A (`undefined`)
|Argument |Datatype|Description |
|------------|--------|-------------------------------------------------------------------------|
|`effectGain`|number |Gain of the effect already applied to the master buss. `1` is 100% volume|
Modifies the effect chain gain for the master buss. This function will do nothing if no effect chain has been applied.