_________ __ __
/ _____// |_____________ _/ |______ ____ __ __ ______
\_____ \\ __\_ __ \__ \\ __\__ \ / ___\| | \/ ___/
/ \| | | | \// __ \| | / __ \_/ /_/ > | /\___ \
/_______ /|__| |__| (____ /__| (____ /\___ /|____//____ >
\/ \/ \//_____/ \/
______________________ ______________________
T H E W A R B E G I N S
Stratagus - A free fantasy real time strategy game engine
#include <numeric>#include "stratagus.h"#include "sound_server.h"#include "fluidsynth.h"#include "iocompat.h"#include "iolib.h"#include "unit.h"#include "SDL.h"#include "SDL_mixer.h"Classes | |
| struct | SoundChannel |
| Channels for sound effects and unit speech. More... | |
sound_server.cpp - The sound server (hardware layer and so on) | |
| #define | MaxChannels 64 |
| uint32_t | SDL_SOUND_FINISHED |
| static bool | SoundInitialized |
| static bool | MusicEnabled = true |
| is sound initialized More... | |
| static bool | EffectsEnabled = true |
| static double | VolumeScale = 1.0 |
| static int | MusicVolume = 0 |
| static bool | externalPlayerIsPlaying = false |
| static HANDLE | g_hStatusThread |
| static HANDLE | g_hDebugThread |
| static HANDLE | g_hChildStd_IN_Wr |
| static PROCESS_INFORMATION | pi |
| static SoundChannel | Channels [MaxChannels] |
| static Mix_Music * | currentMusic = NULL |
| static DWORD WINAPI | StatusThreadFunction (LPVOID lpParam) |
| static DWORD WINAPI | DebugThreadFunction (LPVOID lpParam) |
| static void | KillPlayingProcess () |
| static bool | External_Play (const std::string &file) |
| static bool | External_IsPlaying () |
| static bool | External_Stop () |
| static bool | External_Volume (int volume, int oldVolume) |
| static void | ChannelFinished (int channel) |
| bool | SampleIsPlaying (Mix_Chunk *sample) |
| Check, if this sample is already playing. More... | |
| bool | UnitSoundIsPlaying (Origin *origin) |
| Check if this unit plays some sound. More... | |
| void | HandleSoundEvent (SDL_Event &event) |
| 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... | |
| static Mix_Music * | LoadMusic (const char *name) |
| static Mix_Chunk * | ForceLoadSample (const char *name) |
| static Mix_Chunk * | LoadSample (const char *name) |
| 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) |
| static int | PlaySample (Mix_Chunk *sample, Origin *origin, void(*callback)(int channel)) |
| int | PlaySample (Mix_Chunk *sample, Origin *origin) |
| Play a sample. More... | |
| int | PlaySample (Mix_Chunk *sample, void(*callback)(int channel)) |
| Play a sample, registering a "finished" callback. 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... | |
| static int | InitSdlSound () |
| int | InitSound () |
| Initialize the sound card. More... | |
| void | QuitSound () |
| Cleanup sound. More... | |
| #define MaxChannels 64 |
|
static |
A channel is finished playing
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
| void FreeSample | ( | Mix_Chunk * | sample | ) |
Free a sample loaded with LoadSample.
| sample |
| Mix_Chunk* GetChannelSample | ( | int | channel | ) |
Get the sample playing on a channel.
Get the sample playing on a channel
| int GetEffectsVolume | ( | ) |
Get effects volume.
Get effects volume
| int GetMusicVolume | ( | ) |
Get music volume.
Get music volume
| void HandleSoundEvent | ( | SDL_Event & | event | ) |
|
static |
Initialize sound card hardware part with SDL.
| freq | Sample frequency (44100,22050,11025 hz). |
| size | Sample size (8bit, 16bit) |
| int InitSound | ( | ) |
Initialize the sound card.
Initialize sound card.
| bool IsEffectsEnabled | ( | ) |
Check if effects are enabled.
Check if effects are enabled
| bool IsMusicEnabled | ( | ) |
Check if music is enabled.
Check if music is enabled
| bool IsMusicPlaying | ( | ) |
Check if music is playing.
Check if music is playing
|
static |
|
static |
| Mix_Music* LoadMusic | ( | const std::string & | name | ) |
Load music.
Load a music file
| name | File name |
|
static |
| Mix_Chunk* LoadSample | ( | const std::string & | name | ) |
Load a sample.
Load a sample
| name | File name of sample (short version). |
| int PlayMusic | ( | const std::string & | file | ) |
Play a music file.
Play a music file. This also enables the music finished callback.
| file | Name of music file, format is automatically detected. |
| int PlaySample | ( | Mix_Chunk * | sample, |
| Origin * | origin | ||
| ) |
Play a sample.
Play a sound sample
| sample | Sample to play |
| int PlaySample | ( | Mix_Chunk * | sample, |
| void(*)(int channel) | callback | ||
| ) |
Play a sample, registering a "finished" callback.
| void QuitSound | ( | ) |
Cleanup sound.
Cleanup sound server.
| bool SampleIsPlaying | ( | Mix_Chunk * | sample | ) |
Check, if this sample is already playing.
Check if this sound is already playing
| void SetChannelStereo | ( | int | channel, |
| int | stereo | ||
| ) |
Set the channel stereo.
Set the channel stereo
| channel | Channel to set |
| stereo | -128 to 127, out of range will not set the stereo |
| int SetChannelVolume | ( | int | channel, |
| int | volume | ||
| ) |
Set the channel volume.
Set the channel volume
| channel | Channel to set |
| volume | New volume 0-255, <0 will not set the volume |
| void SetEffectsEnabled | ( | bool | enabled | ) |
Set effects enabled.
Set effects enabled
| void SetEffectsVolume | ( | int | volume | ) |
Set effects volume.
Set the global sound volume.
| volume | the sound volume 0-255 |
| void SetMusicEnabled | ( | bool | enabled | ) |
Set music enabled.
Set music enabled
Set the music finished callback.
Set the music finished callback
| void SetMusicVolume | ( | int | volume | ) |
Set music volume.
Set the music volume.
| volume | the music volume 0-255 |
| bool SoundEnabled | ( | ) |
Check if sound is enabled.
Check if sound is enabled
|
static |
| void StopAllChannels | ( | ) |
Stop all channels.
Stop all channels
| void StopChannel | ( | int | channel | ) |
Stop a channel.
Stop a channel
| channel | Channel to stop |
| void StopMusic | ( | ) |
Stop music playing.
Stop the current playing music. This does not trigger the music finished callback.
| bool UnitSoundIsPlaying | ( | Origin * | origin | ) |
Check if this unit plays some sound.
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
is sound initialized
|
static |
|
static |
| uint32_t SDL_SOUND_FINISHED |
|
static |
|
static |
1.8.17
(C) Copyright 1998-2012 by The Stratagus Project under the GNU General Public License.