The Battle for Wesnoth  1.13.4+dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Classes | Enumerations | Functions | Variables
sound Namespace Reference

Audio output for sound and music. More...

Classes

struct  chunk_load_exception
 
class  music_thinker
 
class  music_track
 Internal representation of music tracks. More...
 

Enumerations

enum  channel_group {
  NULL_CHANNEL = -1, SOUND_SOURCES = 0, SOUND_BELL, SOUND_TIMER,
  SOUND_UI, SOUND_FX
}
 

Functions

static void play_sound_internal (const std::string &files, channel_group group, unsigned int repeats=0, unsigned int distance=0, int id=-1, int loop_ticks=0, int fadein_ticks=0)
 
static void channel_finished_hook (int channel)
 
bool init_sound ()
 
void close_sound ()
 
void reset_sound ()
 
void stop_music ()
 
void stop_sound ()
 
void stop_bell ()
 
void stop_UI_sound ()
 
void play_music_once (const std::string &file)
 
void empty_playlist ()
 
void play_music ()
 
static void play_new_music ()
 
void play_music_repeatedly (const std::string &id)
 
void play_music_config (const config &music_node)
 
void commit_music_changes ()
 
void write_music_play_list (config &snapshot)
 
void reposition_sound (int id, unsigned int distance)
 
bool is_sound_playing (int id)
 
void stop_sound (int id)
 
void play_sound_positioned (const std::string &files, int id, int repeats, unsigned int distance)
 
static Mix_Chunk * load_chunk (const std::string &file, channel_group group)
 
void play_sound (const std::string &files, channel_group group, unsigned int repeats)
 
void play_bell (const std::string &files)
 
void play_timer (const std::string &files, int loop_ticks, int fadein_ticks)
 
void play_UI_sound (const std::string &files)
 
void set_music_volume (int vol)
 
void set_sound_volume (int vol)
 
void set_bell_volume (int vol)
 
void set_UI_volume (int vol)
 

Variables

static std::vector< Mix_Chunk * > channel_chunks
 
static std::vector< intchannel_ids
 

Detailed Description

Audio output for sound and music.

This module provides the ability to play music and sounds. Setting music volume to 0 will stop the music.

Enumeration Type Documentation

Enumerator
NULL_CHANNEL 
SOUND_SOURCES 
SOUND_BELL 
SOUND_TIMER 
SOUND_UI 
SOUND_FX 

Definition at line 25 of file sound.hpp.

Function Documentation

static void sound::channel_finished_hook ( int  channel)
static

Definition at line 308 of file sound.cpp.

References channel_chunks, and channel_ids.

Referenced by init_sound().

void sound::close_sound ( )
void sound::commit_music_changes ( )
void sound::empty_playlist ( )

Definition at line 480 of file sound.cpp.

Referenced by do_gameloop(), enter_lobby_mode(), and campaign_controller::play_game().

bool sound::init_sound ( )
bool sound::is_sound_playing ( int  id)
static Mix_Chunk* sound::load_chunk ( const std::string file,
channel_group  group 
)
static
void sound::play_bell ( const std::string files)
void sound::play_music ( )
void sound::play_music_config ( const config music_node)
void sound::play_music_once ( const std::string file)
void sound::play_music_repeatedly ( const std::string id)

Definition at line 536 of file sound.cpp.

References play_music().

Referenced by do_gameloop(), mp::lobby::lobby(), and storyscreen::part_ui::show().

static void sound::play_new_music ( )
static
void sound::play_sound ( const std::string files,
channel_group  group,
unsigned int  repeats 
)
void sound::play_sound_internal ( const std::string files,
channel_group  group,
unsigned int  repeats = 0,
unsigned int  distance = 0,
int  id = -1,
int  loop_ticks = 0,
int  fadein_ticks = 0 
)
static
void sound::play_sound_positioned ( const std::string files,
int  id,
int  repeats,
unsigned int  distance 
)
void sound::play_timer ( const std::string files,
int  loop_ticks,
int  fadein_ticks 
)

Definition at line 834 of file sound.cpp.

References play_sound_internal(), preferences::sound_on(), and SOUND_TIMER.

Referenced by countdown_clock::maybe_play_sound().

void sound::play_UI_sound ( const std::string files)
void sound::reposition_sound ( int  id,
unsigned int  distance 
)
void sound::reset_sound ( )
void sound::set_bell_volume ( int  vol)

Definition at line 879 of file sound.cpp.

Referenced by init_sound(), and preferences::set_bell_volume().

void sound::set_music_volume ( int  vol)
void sound::set_sound_volume ( int  vol)

Definition at line 859 of file sound.cpp.

References i.

Referenced by init_sound(), preferences::set_sound_volume(), and game_events::WML_HANDLER_FUNCTION().

void sound::set_UI_volume ( int  vol)

Definition at line 890 of file sound.cpp.

References i.

Referenced by init_sound(), and preferences::set_UI_volume().

void sound::stop_bell ( )
void sound::stop_music ( )

Definition at line 411 of file sound.cpp.

References i.

Referenced by close_sound(), do_gameloop(), enter_lobby_mode(), reset_sound(), and preferences::set_music().

void sound::stop_sound ( )

Definition at line 422 of file sound.cpp.

References itor, SOUND_FX, and SOUND_SOURCES.

Referenced by close_sound(), reset_sound(), and preferences::set_sound().

void sound::stop_sound ( int  id)

Definition at line 684 of file sound.cpp.

References DISTANCE_SILENT, and reposition_sound().

void sound::stop_UI_sound ( )

Definition at line 457 of file sound.cpp.

References itor, and SOUND_UI.

Referenced by close_sound(), reset_sound(), and preferences::set_UI_sound().

void sound::write_music_play_list ( config snapshot)

Definition at line 644 of file sound.cpp.

Referenced by play_controller::to_config().

Variable Documentation

std::vector<Mix_Chunk*> sound::channel_chunks
static

Definition at line 45 of file sound.cpp.

Referenced by channel_finished_hook(), init_sound(), load_chunk(), and play_sound_internal().

std::vector<int> sound::channel_ids
static