_________ __                 __
        /   _____//  |_____________ _/  |______     ____  __ __  ______
        \_____  \\   __\_  __ \__  \\   __\__  \   / ___\|  |  \/  ___/
        /        \|  |  |  | \// __ \|  |  / __ \_/ /_/  >  |  /\___ \
       /_______  /|__|  |__|  (____  /__| (____  /\___  /|____//____  >
               \/                  \/          \//_____/            \/
    ______________________                           ______________________
                          T H E   W A R   B E G I N S
                   Stratagus - A free fantasy real time strategy game engine

sound_server.h File Reference
#include "sound.h"

Go to the source code of this file.

sound_server.h - The sound server header file.

#define MaxVolume   255
 
#define SOUND_BUFFER_SIZE   65536
 
uint32_t SDL_SOUND_FINISHED
 
int SetChannelVolume (int channel, int volume)
 Set the channel volume. More...
 
void SetChannelStereo (int channel, int stereo)
 Set the channel stereo. More...
 
Mix_Chunk * GetChannelSample (int channel)
 Get the sample playing on a channel. More...
 
void StopChannel (int channel)
 Stop a channel. More...
 
void StopAllChannels ()
 Stop all channels. More...
 
bool UnitSoundIsPlaying (Origin *origin)
 Check if this unit plays some sound. More...
 
bool SampleIsPlaying (Mix_Chunk *sample)
 Check, if this sample is already playing. More...
 
Mix_Music * LoadMusic (const std::string &name)
 Load music. More...
 
Mix_Chunk * LoadSample (const std::string &name)
 Load a sample. More...
 
void FreeSample (Mix_Chunk *sample)
 
int PlaySample (Mix_Chunk *sample, Origin *origin=NULL)
 Play a sample. More...
 
int PlaySample (Mix_Chunk *sample, void(*callback)(int channel))
 Play a sample, registering a "finished" callback. More...
 
int PlaySoundFile (const std::string &name)
 Play a sound file. More...
 
void SetEffectsVolume (int volume)
 Set effects volume. More...
 
int GetEffectsVolume ()
 Get effects volume. More...
 
void SetEffectsEnabled (bool enabled)
 Set effects enabled. More...
 
bool IsEffectsEnabled ()
 Check if effects are enabled. More...
 
void SetMusicFinishedCallback (void(*callback)())
 Set the music finished callback. More...
 
int PlayMusic (const std::string &file)
 Play a music file. More...
 
void StopMusic ()
 Stop music playing. More...
 
void SetMusicVolume (int volume)
 Set music volume. More...
 
int GetMusicVolume ()
 Get music volume. More...
 
void SetMusicEnabled (bool enabled)
 Set music enabled. More...
 
bool IsMusicEnabled ()
 Check if music is enabled. More...
 
bool IsMusicPlaying ()
 Check if music is playing. More...
 
bool SoundEnabled ()
 Check if sound is enabled. More...
 
int InitSound ()
 Initialize the sound card. More...
 
void QuitSound ()
 Cleanup sound. More...
 
void HandleSoundEvent (SDL_Event &event)
 

Macro Definition Documentation

◆ MaxVolume

#define MaxVolume   255

◆ SOUND_BUFFER_SIZE

#define SOUND_BUFFER_SIZE   65536

Function Documentation

◆ FreeSample()

void FreeSample ( Mix_Chunk *  sample)

Free a sample loaded with LoadSample.

Parameters
sample

◆ GetChannelSample()

Mix_Chunk* GetChannelSample ( int  channel)

Get the sample playing on a channel.

Get the sample playing on a channel

◆ GetEffectsVolume()

int GetEffectsVolume ( )

Get effects volume.

Get effects volume

◆ GetMusicVolume()

int GetMusicVolume ( )

Get music volume.

Get music volume

◆ HandleSoundEvent()

void HandleSoundEvent ( SDL_Event &  event)

◆ InitSound()

int InitSound ( )

Initialize the sound card.

Initialize sound card.

Returns
True if failure, false if everything ok.

◆ IsEffectsEnabled()

bool IsEffectsEnabled ( )

Check if effects are enabled.

Check if effects are enabled

◆ IsMusicEnabled()

bool IsMusicEnabled ( )

Check if music is enabled.

Check if music is enabled

◆ IsMusicPlaying()

bool IsMusicPlaying ( )

Check if music is playing.

Check if music is playing

◆ LoadMusic()

Mix_Music* LoadMusic ( const std::string &  name)

Load music.

Load a music file

Parameters
nameFile name
Returns
Mix_Music pointer

◆ LoadSample()

Mix_Chunk* LoadSample ( const std::string &  name)

Load a sample.

Load a sample

Parameters
nameFile name of sample (short version).
Returns
General sample loaded from file into memory.
Todo:
Add streaming, caching support.

◆ PlayMusic()

int PlayMusic ( const std::string &  file)

Play a music file.

Play a music file. This also enables the music finished callback.

Parameters
fileName of music file, format is automatically detected.
Returns
0 if music is playing, -1 if not.

◆ PlaySample() [1/2]

int PlaySample ( Mix_Chunk *  sample,
Origin origin = NULL 
)

Play a sample.

◆ PlaySample() [2/2]

int PlaySample ( Mix_Chunk *  sample,
void(*)(int channel)  callback 
)

Play a sample, registering a "finished" callback.

◆ PlaySoundFile()

int PlaySoundFile ( const std::string &  name)

Play a sound file.

◆ QuitSound()

void QuitSound ( )

Cleanup sound.

Cleanup sound server.

◆ SampleIsPlaying()

bool SampleIsPlaying ( Mix_Chunk *  sample)

Check, if this sample is already playing.

Check if this sound is already playing

◆ SetChannelStereo()

void SetChannelStereo ( int  channel,
int  stereo 
)

Set the channel stereo.

Set the channel stereo

Parameters
channelChannel to set
stereo-128 to 127, out of range will not set the stereo
Returns
Current stereo of the channel, -1 for error

◆ SetChannelVolume()

int SetChannelVolume ( int  channel,
int  volume 
)

Set the channel volume.

Set the channel volume

Parameters
channelChannel to set
volumeNew volume 0-255, <0 will not set the volume
Returns
Current volume of the channel, -1 for error

◆ SetEffectsEnabled()

void SetEffectsEnabled ( bool  enabled)

Set effects enabled.

Set effects enabled

◆ SetEffectsVolume()

void SetEffectsVolume ( int  volume)

Set effects volume.

Set the global sound volume.

Parameters
volumethe sound volume 0-255

◆ SetMusicEnabled()

void SetMusicEnabled ( bool  enabled)

Set music enabled.

Set music enabled

◆ SetMusicFinishedCallback()

void SetMusicFinishedCallback ( void(*)()  callback)

Set the music finished callback.

Set the music finished callback

◆ SetMusicVolume()

void SetMusicVolume ( int  volume)

Set music volume.

Set the music volume.

Parameters
volumethe music volume 0-255

◆ SoundEnabled()

bool SoundEnabled ( )

Check if sound is enabled.

Check if sound is enabled

◆ StopAllChannels()

void StopAllChannels ( )

Stop all channels.

Stop all channels

◆ StopChannel()

void StopChannel ( int  channel)

Stop a channel.

Stop a channel

Parameters
channelChannel to stop

◆ StopMusic()

void StopMusic ( )

Stop music playing.

Stop the current playing music. This does not trigger the music finished callback.

◆ UnitSoundIsPlaying()

bool UnitSoundIsPlaying ( Origin origin)

Check if this unit plays some sound.

Variable Documentation

◆ SDL_SOUND_FINISHED

uint32_t SDL_SOUND_FINISHED
(C) Copyright 1998-2012 by The Stratagus Project under the GNU General Public License.
All trademarks and copyrights on this page are owned by their respective owners.