Source:setFilter

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

Sets a low-pass, high-pass, or band-pass filter to apply when playing the Source.

Function

Synopsis

success = Source:setFilter( settings )

Arguments

table settings
The filter settings to use for this Source, with the following fields:
FilterType type
The type of filter to use.
number volume
The overall volume of the audio. Must be between 0 and 1.
number highgain
Volume of high-frequency audio. Only applies to lowpass and bandpass filters. Must be between 0 and 1.
number lowgain
Volume of low-frequency audio. Only applies to highpass and bandpass filters. Must be between 0 and 1.

Returns

boolean success
Whether the filter was successfully applied to the Source.

Function

Disables filtering on this Source.

Synopsis

Source:setFilter( )

Arguments

None.

Returns

Nothing.

Examples

Play music at half volume with a low-pass filter applied

function love.load()
	local source = love.audio.newSource("music.ogg", "stream")
	source:setFilter{
		type     = "lowpass",
		volume   = .5,
		highgain = .4,
	}
	source:play()
end

Notes

Audio filter functionality is not supported on iOS.

While the cutoff frequency cannot be set directly, changing high/lowgain has the effect of altering the cutoff. See it explained in this thread.

The filter does not affect any effects for the Source.

See Also

Other Languages