Difference between revisions of "love.audio.setEffect"

(Note about dry sound.)
(Examples: Added example.)
 
(One intermediate revision by the same user not shown)
Line 7: Line 7:
 
=== Synopsis ===
 
=== Synopsis ===
 
<source lang="lua">
 
<source lang="lua">
love.audio.setEffect(name, settings)
+
love.audio.setEffect( name, settings )
 
</source>
 
</source>
 
=== Arguments ===
 
=== Arguments ===
Line 21: Line 21:
 
=== Synopsis ===
 
=== Synopsis ===
 
<source lang="lua">
 
<source lang="lua">
love.audio.setEffect(name, enabled)
+
love.audio.setEffect( name, enabled )
 
</source>
 
</source>
 
=== Arguments ===
 
=== Arguments ===
Line 51: Line 51:
 
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 effect while muting the dry sound ===
 +
<source lang="lua">
 +
love.audio.setEffect("myEffect", {type="chorus", waveform="sine", rate=5, depth=.5})
 +
 +
local source = love.audio.newSource("music.ogg", "stream")
 +
source:setEffect("myEffect")
 +
source:setFilter{ volume=0, type="lowpass" } -- This volume only affects the dry sound.
 
source:play()
 
source:play()
 
</source>
 
</source>

Latest revision as of 12:17, 21 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()

Play effect while muting the dry sound

love.audio.setEffect("myEffect", {type="chorus", waveform="sine", rate=5, depth=.5})

local source = love.audio.newSource("music.ogg", "stream")
source:setEffect("myEffect")
source:setFilter{ volume=0, type="lowpass" } -- This volume only affects the dry sound.
source:play()

See Also


Other Languages