Loading...
Searching...
No Matches
Sound.h File Reference

Go to the source code of this file.

Functions

sfSoundsfSound_create (const sfSoundBuffer *buffer)
 Create a new sound.
 
sfSoundsfSound_copy (const sfSound *sound)
 Create a new sound by copying an existing one.
 
void sfSound_destroy (const sfSound *sound)
 Destroy a sound.
 
void sfSound_play (sfSound *sound)
 Start or resume playing a sound.
 
void sfSound_pause (sfSound *sound)
 Pause a sound.
 
void sfSound_stop (sfSound *sound)
 Stop playing a sound.
 
void sfSound_setBuffer (sfSound *sound, const sfSoundBuffer *buffer)
 Set the source buffer containing the audio data to play.
 
const sfSoundBuffersfSound_getBuffer (const sfSound *sound)
 Get the audio buffer attached to a sound.
 
void sfSound_setLooping (sfSound *sound, bool loop)
 Set whether or not a sound should loop after reaching the end.
 
bool sfSound_isLooping (const sfSound *sound)
 Tell whether or not a sound is in loop mode.
 
sfSoundStatus sfSound_getStatus (const sfSound *sound)
 Get the current status of a sound (stopped, paused, playing)
 
void sfSound_setPitch (sfSound *sound, float pitch)
 Set the pitch of a sound.
 
void sfSound_setPan (sfSound *sound, float pan)
 Set the pan of the sound.
 
void sfSound_setVolume (sfSound *sound, float volume)
 Set the volume of a sound.
 
void sfSound_setSpatializationEnabled (sfSound *sound, bool enabled)
 Set whether spatialization of the sound is enabled.
 
void sfSound_setPosition (sfSound *sound, sfVector3f position)
 Set the 3D position of a sound in the audio scene.
 
void sfSound_setDirection (sfSound *sound, sfVector3f direction)
 Set the 3D direction of the sound in the audio scene.
 
void sfSound_setCone (sfSound *sound, sfSoundSourceCone cone)
 Set the cone properties of the sound in the audio scene.
 
void sfSound_setVelocity (sfSound *sound, sfVector3f velocity)
 Set the 3D velocity of the sound in the audio scene.
 
void sfSound_setDopplerFactor (sfSound *sound, float factor)
 Set the doppler factor of the sound.
 
void sfSound_setDirectionalAttenuationFactor (sfSound *sound, float factor)
 Set the directional attenuation factor of the sound.
 
void sfSound_setRelativeToListener (sfSound *sound, bool relative)
 Make the sound's position relative to the listener or absolute.
 
void sfSound_setMinDistance (sfSound *sound, float distance)
 Set the minimum distance of a sound.
 
void sfSound_setMaxDistance (sfSound *sound, float distance)
 Set the maximum distance of the sound.
 
void sfSound_setMinGain (sfSound *sound, float gain)
 Set the minimum gain of the sound.
 
void sfSound_setMaxGain (sfSound *sound, float gain)
 Set the maximum gain of the sound.
 
void sfSound_setAttenuation (sfSound *sound, float attenuation)
 Set the attenuation factor of a sound.
 
void sfSound_setPlayingOffset (sfSound *sound, sfTime timeOffset)
 Change the current playing position of a sound.
 
void sfSound_setEffectProcessor (sfSound *sound, sfEffectProcessor effectProcessor)
 Set the effect processor to be applied to the sound.
 
float sfSound_getPitch (const sfSound *sound)
 Get the pitch of a sound.
 
float sfSound_getPan (const sfSound *sound)
 Get the pan of the sound.
 
float sfSound_getVolume (const sfSound *sound)
 Get the volume of a sound.
 
bool sfSound_isSpatializationEnabled (const sfSound *sound)
 Tell whether spatialization of the sound is enabled.
 
sfVector3f sfSound_getPosition (const sfSound *sound)
 Get the 3D position of a sound in the audio scene.
 
sfVector3f sfSound_getDirection (const sfSound *sound)
 Get the 3D direction of the sound in the audio scene.
 
sfSoundSourceCone sfSound_getCone (const sfSound *sound)
 Get the cone properties of the sound in the audio scene.
 
sfVector3f sfSound_getVelocity (const sfSound *sound)
 Get the 3D velocity of the sound in the audio scene.
 
float sfSound_getDopplerFactor (const sfSound *sound)
 Get the doppler factor of the sound.
 
float sfSound_getDirectionalAttenuationFactor (const sfSound *sound)
 Get the directional attenuation factor of the sound.
 
bool sfSound_isRelativeToListener (const sfSound *sound)
 Tell whether a sound's position is relative to the listener or is absolute.
 
float sfSound_getMinDistance (const sfSound *sound)
 Get the minimum distance of a sound.
 
float sfSound_getMaxDistance (const sfSound *sound)
 Get the maximum distance of the sound.
 
float sfSound_getMinGain (const sfSound *sound)
 Get the minimum gain of the sound.
 
float sfSound_getMaxGain (const sfSound *sound)
 Get the maximum gain of the sound.
 
float sfSound_getAttenuation (const sfSound *sound)
 Get the attenuation factor of a sound.
 
sfTime sfSound_getPlayingOffset (const sfSound *sound)
 Get the current playing position of a sound.
 

Function Documentation

◆ sfSound_copy()

sfSound * sfSound_copy ( const sfSound * sound)

Create a new sound by copying an existing one.

Parameters
soundSound to copy
Returns
A new sfSound object which is a copy of sound

◆ sfSound_create()

sfSound * sfSound_create ( const sfSoundBuffer * buffer)

Create a new sound.

Parameters
bufferSound buffer containing the audio data to play with the sound
Returns
A new sfSound object

◆ sfSound_destroy()

void sfSound_destroy ( const sfSound * sound)

Destroy a sound.

Parameters
soundSound to destroy

◆ sfSound_getAttenuation()

float sfSound_getAttenuation ( const sfSound * sound)

Get the attenuation factor of a sound.

Parameters
soundSound object
Returns
Attenuation factor of the sound

◆ sfSound_getBuffer()

const sfSoundBuffer * sfSound_getBuffer ( const sfSound * sound)

Get the audio buffer attached to a sound.

Parameters
soundSound object
Returns
Sound buffer attached to the sound (can be NULL)

◆ sfSound_getCone()

sfSoundSourceCone sfSound_getCone ( const sfSound * sound)

Get the cone properties of the sound in the audio scene.

Parameters
soundSound object
Returns
Cone properties of the sound

◆ sfSound_getDirection()

sfVector3f sfSound_getDirection ( const sfSound * sound)

Get the 3D direction of the sound in the audio scene.

Parameters
soundSound object
Returns
Direction of the sound

◆ sfSound_getDirectionalAttenuationFactor()

float sfSound_getDirectionalAttenuationFactor ( const sfSound * sound)

Get the directional attenuation factor of the sound.

Parameters
soundSound object
Returns
Directional attenuation factor of the sound

◆ sfSound_getDopplerFactor()

float sfSound_getDopplerFactor ( const sfSound * sound)

Get the doppler factor of the sound.

Parameters
soundSound object
Returns
Doppler factor of the sound

◆ sfSound_getMaxDistance()

float sfSound_getMaxDistance ( const sfSound * sound)

Get the maximum distance of the sound.

Parameters
soundSound object
Returns
Maximum distance of the sound

◆ sfSound_getMaxGain()

float sfSound_getMaxGain ( const sfSound * sound)

Get the maximum gain of the sound.

Parameters
soundSound object
Returns
Maximum gain of the sound

◆ sfSound_getMinDistance()

float sfSound_getMinDistance ( const sfSound * sound)

Get the minimum distance of a sound.

Parameters
soundSound object
Returns
Minimum distance of the sound

◆ sfSound_getMinGain()

float sfSound_getMinGain ( const sfSound * sound)

Get the minimum gain of the sound.

Parameters
soundSound object
Returns
Minimum gain of the sound

◆ sfSound_getPan()

float sfSound_getPan ( const sfSound * sound)

Get the pan of the sound.

Parameters
soundSound object
Returns
Pan of the sound

◆ sfSound_getPitch()

float sfSound_getPitch ( const sfSound * sound)

Get the pitch of a sound.

Parameters
soundSound object
Returns
Pitch of the sound

◆ sfSound_getPlayingOffset()

sfTime sfSound_getPlayingOffset ( const sfSound * sound)

Get the current playing position of a sound.

Parameters
soundSound object
Returns
Current playing position

◆ sfSound_getPosition()

sfVector3f sfSound_getPosition ( const sfSound * sound)

Get the 3D position of a sound in the audio scene.

Parameters
soundSound object
Returns
Position of the sound in the world

◆ sfSound_getStatus()

sfSoundStatus sfSound_getStatus ( const sfSound * sound)

Get the current status of a sound (stopped, paused, playing)

Parameters
soundSound object
Returns
Current status

◆ sfSound_getVelocity()

sfVector3f sfSound_getVelocity ( const sfSound * sound)

Get the 3D velocity of the sound in the audio scene.

Parameters
soundSound object
Returns
Velocity of the sound

◆ sfSound_getVolume()

float sfSound_getVolume ( const sfSound * sound)

Get the volume of a sound.

Parameters
soundSound object
Returns
Volume of the sound, in the range [0, 100]

◆ sfSound_isLooping()

bool sfSound_isLooping ( const sfSound * sound)

Tell whether or not a sound is in loop mode.

Parameters
soundSound object
Returns
true if the sound is looping, false otherwise

◆ sfSound_isRelativeToListener()

bool sfSound_isRelativeToListener ( const sfSound * sound)

Tell whether a sound's position is relative to the listener or is absolute.

Parameters
soundSound object
Returns
true if the position is relative, false if it's absolute

◆ sfSound_isSpatializationEnabled()

bool sfSound_isSpatializationEnabled ( const sfSound * sound)

Tell whether spatialization of the sound is enabled.

Parameters
soundSound object
Returns
true if spatialization is enabled, false if it's disabled

◆ sfSound_pause()

void sfSound_pause ( sfSound * sound)

Pause a sound.

This function pauses the sound if it was playing, otherwise (sound already paused or stopped) it has no effect.

Parameters
soundSound object

◆ sfSound_play()

void sfSound_play ( sfSound * sound)

Start or resume playing a sound.

This function starts the sound if it was stopped, resumes it if it was paused, and restarts it from beginning if it was it already playing. This function uses its own thread so that it doesn't block the rest of the program while the sound is played.

Parameters
soundSound object

◆ sfSound_setAttenuation()

void sfSound_setAttenuation ( sfSound * sound,
float attenuation )

Set the attenuation factor of a sound.

The attenuation is a multiplicative factor which makes the sound more or less loud according to its distance from the listener. An attenuation of 0 will produce a non-attenuated sound, i.e. its volume will always be the same whether it is heard from near or from far. On the other hand, an attenuation value such as 100 will make the sound fade out very quickly as it gets further from the listener. The default value of the attenuation is 1.

Parameters
soundSound object
attenuationNew attenuation factor of the sound

◆ sfSound_setBuffer()

void sfSound_setBuffer ( sfSound * sound,
const sfSoundBuffer * buffer )

Set the source buffer containing the audio data to play.

It is important to note that the sound buffer is not copied, thus the sfSoundBuffer object must remain alive as long as it is attached to the sound.

Parameters
soundSound object
bufferSound buffer to attach to the sound

◆ sfSound_setCone()

void sfSound_setCone ( sfSound * sound,
sfSoundSourceCone cone )

Set the cone properties of the sound in the audio scene.

The cone defines how directional attenuation is applied. The default cone of a sound is (2 * PI, 2 * PI, 1).

Parameters
soundSound object
coneCone properties of the sound in the scene

◆ sfSound_setDirection()

void sfSound_setDirection ( sfSound * sound,
sfVector3f direction )

Set the 3D direction of the sound in the audio scene.

The direction defines where the sound source is facing in 3D space. It will affect how the sound is attenuated if facing away from the listener. The default direction of a sound is (0, 0, -1).

Parameters
soundSound object
directionDirection of the sound in the scene

◆ sfSound_setDirectionalAttenuationFactor()

void sfSound_setDirectionalAttenuationFactor ( sfSound * sound,
float factor )

Set the directional attenuation factor of the sound.

Depending on the virtual position of an output channel relative to the listener (such as in surround sound setups), sounds will be attenuated when emitting them from certain channels. This factor determines how strong the attenuation based on output channel position relative to the listener is.

Parameters
soundSound object
factorNew directional attenuation factor to apply to the sound

◆ sfSound_setDopplerFactor()

void sfSound_setDopplerFactor ( sfSound * sound,
float factor )

Set the doppler factor of the sound.

The doppler factor determines how strong the doppler shift will be.

Parameters
soundSound object
factorNew doppler factor to apply to the sound

◆ sfSound_setEffectProcessor()

void sfSound_setEffectProcessor ( sfSound * sound,
sfEffectProcessor effectProcessor )

Set the effect processor to be applied to the sound.

The effect processor is a callable that will be called with sound data to be processed.

Parameters
soundSound object
effectProcessorThe effect processor to attach to this sound, attach an empty processor to disable processing

◆ sfSound_setLooping()

void sfSound_setLooping ( sfSound * sound,
bool loop )

Set whether or not a sound should loop after reaching the end.

If set, the sound will restart from beginning after reaching the end and so on, until it is stopped or sfSound_setLooping(sound, false) is called. The default looping state for sounds is false.

Parameters
soundSound object
looptrue to play in loop, false to play once

◆ sfSound_setMaxDistance()

void sfSound_setMaxDistance ( sfSound * sound,
float distance )

Set the maximum distance of the sound.

The "maximum distance" of a sound is the minimum distance at which it is heard at its minimum volume. Closer than the maximum distance, it will start to fade in according to its attenuation factor. The default value of the maximum distance is the maximum value a float can represent.

Parameters
soundSound object
distanceNew maximum distance of the sound

◆ sfSound_setMaxGain()

void sfSound_setMaxGain ( sfSound * sound,
float gain )

Set the maximum gain of the sound.

When the sound is closer from the listener than the "minimum distance" the attenuated gain is clamped so it cannot go above the maximum gain value.

Parameters
soundSound object
gainNew maximum gain of the sound

◆ sfSound_setMinDistance()

void sfSound_setMinDistance ( sfSound * sound,
float distance )

Set the minimum distance of a sound.

The "minimum distance" of a sound is the maximum distance at which it is heard at its maximum volume. Further than the minimum distance, it will start to fade out according to its attenuation factor. A value of 0 ("inside the head of the listener") is an invalid value and is forbidden. The default value of the minimum distance is 1.

Parameters
soundSound object
distanceNew minimum distance of the sound

◆ sfSound_setMinGain()

void sfSound_setMinGain ( sfSound * sound,
float gain )

Set the minimum gain of the sound.

When the sound is further away from the listener than the "maximum distance" the attenuated gain is clamped so it cannot go below the minimum gain value.

Parameters
soundSound object
gainNew minimum gain of the sound

◆ sfSound_setPan()

void sfSound_setPan ( sfSound * sound,
float pan )

Set the pan of the sound.

Using panning, a mono sound can be panned between stereo channels. When the pan is set to -1, the sound is played only on the left channel, when the pan is set to +1, the sound is played only on the right channel.

Parameters
soundSound object
panNew pan to apply to the sound [-1, +1]

◆ sfSound_setPitch()

void sfSound_setPitch ( sfSound * sound,
float pitch )

Set the pitch of a sound.

The pitch represents the perceived fundamental frequency of a sound; thus you can make a sound more acute or grave by changing its pitch. A side effect of changing the pitch is to modify the playing speed of the sound as well. The default value for the pitch is 1.

Parameters
soundSound object
pitchNew pitch to apply to the sound

◆ sfSound_setPlayingOffset()

void sfSound_setPlayingOffset ( sfSound * sound,
sfTime timeOffset )

Change the current playing position of a sound.

The playing position can be changed when the sound is either paused or playing.

Parameters
soundSound object
timeOffsetNew playing position

◆ sfSound_setPosition()

void sfSound_setPosition ( sfSound * sound,
sfVector3f position )

Set the 3D position of a sound in the audio scene.

Only sounds with one channel (mono sounds) can be spatialized. The default position of a sound is (0, 0, 0).

Parameters
soundSound object
positionPosition of the sound in the scene

◆ sfSound_setRelativeToListener()

void sfSound_setRelativeToListener ( sfSound * sound,
bool relative )

Make the sound's position relative to the listener or absolute.

Making a sound relative to the listener will ensure that it will always be played the same way regardless the position of the listener. This can be useful for non-spatialized sounds, sounds that are produced by the listener, or sounds attached to it. The default value is false (position is absolute).

Parameters
soundSound object
relativetrue to set the position relative, false to set it absolute

◆ sfSound_setSpatializationEnabled()

void sfSound_setSpatializationEnabled ( sfSound * sound,
bool enabled )

Set whether spatialization of the sound is enabled.

Spatialization is the application of various effects to simulate a sound being emitted at a virtual position in 3D space and exhibiting various physical phenomena such as directional attenuation and doppler shift.

Parameters
soundSound object
enabledtrue to enable spatialization, false to disable

◆ sfSound_setVelocity()

void sfSound_setVelocity ( sfSound * sound,
sfVector3f velocity )

Set the 3D velocity of the sound in the audio scene.

The velocity is used to determine how to doppler shift the sound. Sounds moving towards the listener will be perceived to have a higher pitch and sounds moving away from the listener will be perceived to have a lower pitch.

Parameters
soundSound object
velocityVelocity of the sound in the scene

◆ sfSound_setVolume()

void sfSound_setVolume ( sfSound * sound,
float volume )

Set the volume of a sound.

The volume is a value between 0 (mute) and 100 (full volume). The default value for the volume is 100.

Parameters
soundSound object
volumeVolume of the sound

◆ sfSound_stop()

void sfSound_stop ( sfSound * sound)

Stop playing a sound.

This function stops the sound if it was playing or paused, and does nothing if it was already stopped. It also resets the playing position (unlike sfSound_pause).

Parameters
soundSound object