## `~_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.