Difference between revisions of "love.audio.setEffect"

m (OOF 100)
(Note about dry sound.)
Line 1: Line 1:
 
{{newin|[[11.0]]|110|type=function}}
 
{{newin|[[11.0]]|110|type=function}}
Defines an effect that can be applied to a [[Source]].
+
Defines an effect that can be [[Source:setEffect|applied]] to a [[Source]].
  
Not all system supports audio effects. Use [[love.audio.isEffectsSupported]] to check.
+
Not all systems support audio effects. Use [[love.audio.isEffectsSupported]] to check.
  
 
== Function ==
 
== Function ==
Line 28: Line 28:
 
=== Returns ===
 
=== Returns ===
 
{{param|boolean|success|Whether the effect was successfully disabled.}}
 
{{param|boolean|success|Whether the effect was successfully disabled.}}
 +
 +
== Notes ==
 +
Audio produced by effects are added on top of the normal dry sound from Sources.
  
 
== Examples ==
 
== Examples ==
=== Playing music with added reverb ===
+
=== Play music with added reverb ===
 
<source lang="lua">
 
<source lang="lua">
love.audio.setEffect('myEffect', {type = 'reverb'})
+
love.audio.setEffect("myEffect", {type="reverb"})
local source = love.audio.newSource('music.ogg', 'stream')
+
 
source:setEffect('myEffect')
+
local source = love.audio.newSource("music.ogg", "stream")
 +
source:setEffect("myEffect")
 
source:play()
 
source:play()
 
</source>
 
</source>
  
=== Playing music with distortion ===
+
=== Play music with distortion ===
 
<source lang="lua">
 
<source lang="lua">
love.audio.setEffect('myEffect', {
+
love.audio.setEffect("myEffect", {
type = 'distortion',
+
type = "distortion",
 
gain = .5,
 
gain = .5,
 
edge = .25,
 
edge = .25,
 
})
 
})
local source = love.audio.newSource('music.ogg', 'stream')
+
local source = love.audio.newSource("music.ogg", "stream")
source:setEffect('myEffect')
+
source:setEffect("myEffect")
 
source:play()
 
source:play()
 
</source>
 
</source>

Revision as of 11:10, 17 August 2022

Available since LÖVE 11.0
This function is not supported in earlier versions.

Defines an effect that can be applied to a Source.

Not all systems support audio effects. Use love.audio.isEffectsSupported to check.

Function

Synopsis

love.audio.setEffect(name, settings)

Arguments

string name
The name of the effect.
table settings
The settings to use for this effect, with the following fields:
EffectType type
The type of effect to use.
number volume
The volume of the effect.
number ...
Effect-specific settings. See EffectType for available effects and their corresponding settings.

Returns

boolean success
Whether the effect was successfully created.

Function

Synopsis

love.audio.setEffect(name, enabled)

Arguments

string name
The name of the effect.
boolean enabled (true)
If false and the given effect name was previously set, disables the effect.

Returns

boolean success
Whether the effect was successfully disabled.

Notes

Audio produced by effects are added on top of the normal dry sound from Sources.

Examples

Play music with added reverb

love.audio.setEffect("myEffect", {type="reverb"})

local source = love.audio.newSource("music.ogg", "stream")
source:setEffect("myEffect")
source:play()

Play music with distortion

love.audio.setEffect("myEffect", {
	type = "distortion",
	gain = .5,
	edge = .25,
})
local source = love.audio.newSource("music.ogg", "stream")
source:setEffect("myEffect")
source:play()

See Also


Other Languages