Programming
Fundamentials
Setting Up Development Environment
UnigineScript
High-Level Systems
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine and Tools
GUI
Double Precision Coordinates
API
Core Library
Containers
Node-Related Classes
Rendering-Related Classes
Physics-Related Classes
Bounds-Related Classes
GUI-Related Classes
Controls-Related Classes
Pathfinding-Related Classes
Utility Classes

Sound Class

Unigine sound. This interface provides access to Unigine sound functions.

To use this class, include the UnigineSound.h file.

Sound Class

Members


void setScale (float scale)

Set the time scale for the sound playing.

Arguments

  • float scale - Sound time scale. The provided value is saturated in the range [0; 2].

float getVolume ()

Returns the current sound volume.

Return value

Sound volume. 0 means muted sound, 1 means maximum volume.

float getScale ()

Returns the current time scale for the sound playing.

Return value

Sound time scale.

int restoreState (const Ptr<Stream> & stream)

Restores a sound state from the stream. The sound state includes such settings as the volume, velocity, adaptation, Doppler factor, time scale and number of sound sources and their volumes.

Arguments

  • const Ptr<Stream> & stream - Stream smart pointer.

Return value

Returns 1 if the sound state is restored successfully; otherwise, 0 is returned.

int saveState (const Ptr<Stream> & stream)

Saves a sound state into the stream. The sound state includes such settings as the volume, velocity, adaptation, Doppler factor, time scale and number of sound sources and their volumes.

Arguments

  • const Ptr<Stream> & stream - Stream smart pointer.

Return value

Returns 1 if the sound state is saved successfully; otherwise, 0.

int saveSettings (const char * name, int force = 0)

Saves the current sound settings to a given file.

Arguments

  • const char * name - Sound settings file name.
  • int force - saving of sound settings.

Return value

Returns 1 if the settings are saved successfully ; otherwise, 0.

int loadSettings (const char * name)

Loads the sound settings from a given file.

Arguments

  • const char * name - Sound settings file name.

Return value

Returns 1 if the settings are loaded successfully; otherwise, 0.

void setData (const char * data)

Sets user data associated with the world. In the *.world file, the data is set in the data tag.

Arguments

  • const char * data - New user data.

void setVelocity (float velocity)

Sets the sound velocity.

Arguments

  • float velocity - Sound velocity.

float getTotalTime ()

Returns the total time of the sound playing.

Return value

The total time value, milliseconds.

void setVolume (float volume)

Sets the sound volume in range [0;1]. The default is 1 that means maximum volume.

Arguments

  • float volume - Sound volume. 0 means muted sound, 1 means maximum volume.

void setAdaptation (float adaptation)

Sets sound occlusion with specified adaptation time.

Arguments

  • float adaptation - Time for sound adaptation to a filter, used when the sound source becomes occluded or other way round.

float getAdaptation ()

Returns the current time set for sound adaptation, that is used when the sound source becomes occluded or other way round.

Return value

Time for sound adaptation to a filter.

float getVelocity ()

Returns the current sound velocity.

Return value

Sound velocity.

void setDoppler (float doppler)

Set the Doppler effect.

Arguments

  • float doppler - The Doppler factor.

void setSourceVolume (int source, float volume)

Sets the volume of the specified sound channel.

Arguments

  • int source - Number of the sound channel (from 0 to 31).
  • float volume - Channel volume. The provided value is saturated within [0;1] range, where 0 means muted sound and 1 is the maximum volume.

float getSourceVolume (int source)

Returns the current volume of the specified sound channel.

Arguments

  • int source - Number of the sound channel (from 0 to 31).

Return value

Volume of the specified sound channel. The returning value is in range [0;1], where 0 means muted sound and 1 is the maximum volume.

int getSourceLimit (int source)

Returns the current number of simultaneously played sound sources per one sound channel.

Arguments

  • int source - ID number of the sound channel (from 0 to 31).

Return value

The maximum number of sound sources that can be played simultaneously.

void setEnabled (int enabled)

Enables or disables the sound.

Arguments

  • int enabled - 1 to enable the sound, 0 to disable it.

int loadWorld (const Ptr<Xml> & xml)

Loads a sound state from the Xml. The sound state includes such settings as the volume, velocity, adaptation, Doppler factor, time scale and number of sound sources and their volumes.

Arguments

  • const Ptr<Xml> & xml - Xml smart pointer.

Return value

Returns 1 if the the sound state is loaded successfully; otherwise, 0 is returned.

const char * getData ()

Returns user string data associated with the world. This string is written directly into the data tag of the *.world file.

Return value

User string data.

int isEnabled ()

Returns a value indicating if the sound is enabled.

Return value

Returns 1 if the sound is enabled; otherwise, 0.

void setSourceLimit (int source, int limit)

Limits the number of simultaneously played sound sources per one sound channel.

Arguments

  • int source - ID number of the sound channel (from 0 to 31).
  • int limit - The maximum number of sound sources that can be played simultaneously.

int saveWorld (const Ptr<Xml> & xml, int force = 0)

Saves a sound state into the Xml. The sound state includes such settings as the volume, velocity, adaptation, Doppler factor, time scale and number of sound sources and their volumes.

Arguments

  • const Ptr<Xml> & xml - Xml smart pointer.
  • int force - saving of the sound state.

Return value

Returns 1 if the sound state is saved successfully; otherwise, 0.

void renderWorld (int force)

Forces update of the sound system: all sound settings will be applied at once (such as play, stop events and change of parameters). A sound system has its own fixed frame rate (30 fps), while a script update rate can be much higher, which sometimes cause commands being skipped, unless a forced update is used.

Arguments

  • int force - 1 to force update of the sound system; otherwise, 0.

float getDoppler ()

Returns the current Doppler factor.

Return value

Doppler factor.
Last update: 2017-07-03