#include "s_local.h"
#include "s_main.h"
#include "s_music.h"
#include "../../shared/parse.h"
#include "../../ports/system.h"
Go to the source code of this file.
Data Structures | |
struct | music_s |
Defines | |
#define | MUSIC_MAX_ENTRIES 64 |
Typedefs | |
typedef struct music_s | music_t |
Enumerations | |
enum | { MUSIC_MAIN, MUSIC_GEOSCAPE, MUSIC_BATTLESCAPE, MUSIC_AIRCOMBAT, MUSIC_MAX } |
Functions | |
void | M_ParseMusic (const char *name, const char **text) |
Parses music definitions for different situations. | |
void | M_Stop (void) |
static void | M_Start (const char *file) |
static void | M_Play_f (void) |
Plays the music file given via commandline parameter. | |
static void | M_RandomTrack_f (void) |
Sets the music cvar to a random track. | |
static void | M_Change_f (void) |
Changes the music if it suits the current situation. | |
static int | M_CompleteMusic (const char *partial, const char **match) |
void | M_Frame (void) |
void | M_Init (void) |
void | M_Shutdown (void) |
static void | M_MusicStreamCallback (musicStream_t *userdata, byte *stream, int length) |
void | M_AddToSampleBuffer (musicStream_t *userdata, int rate, int samples, const byte *data) |
Add stereo samples with a 16 byte width to the stream buffer. | |
void | M_PlayMusicStream (musicStream_t *userdata) |
void | M_StopMusicStream (musicStream_t *userdata) |
Variables | |
static char * | musicArrays [MUSIC_MAX][MUSIC_MAX_ENTRIES] |
static int | musicArrayLength [MUSIC_MAX] |
static music_t | music |
static int | musicTrackCount |
static cvar_t * | snd_music |
static cvar_t * | snd_music_volume |
Definition in file s_music.c.
#define MUSIC_MAX_ENTRIES 64 |
Definition at line 50 of file s_music.c.
Referenced by M_ParseMusic().
anonymous enum |
void M_AddToSampleBuffer | ( | musicStream_t * | userdata, | |
int | rate, | |||
int | samples, | |||
const byte * | data | |||
) |
Add stereo samples with a 16 byte width to the stream buffer.
[in] | samples | The amount of stereo samples that should be added to the stream buffer (this is usually 1/4 of the size of the data buffer, one sample should have 4 bytes, 2 for each channel) |
[in] | data | The stereo sample buffer |
[in,out] | userdata | The music stream |
[in] | rate | The sample rate |
Definition at line 398 of file s_music.c.
References i, s_env_s::initialized, LittleShort(), MAX_RAW_SAMPLES, s_env_s::rate, s_env, musicStream_s::sampleBuf, musicStream_s::samplePos, and scale.
Referenced by CIN_OGM_LoadAudioFrame(), CIN_ROQ_DecodeSoundMono(), and CIN_ROQ_DecodeSoundStereo().
static void M_Change_f | ( | void | ) | [static] |
Changes the music if it suits the current situation.
Definition at line 244 of file s_music.c.
References ca_active, cls, Cmd_Argc(), Cmd_Argv(), Com_DPrintf(), Com_Printf(), Cvar_Set(), DEBUG_SOUND, s_env_s::initialized, MUSIC_AIRCOMBAT, MUSIC_BATTLESCAPE, MUSIC_GEOSCAPE, MUSIC_MAIN, musicArrayLength, musicArrays, s_env, client_static_s::state, cvar_s::string, and type.
Referenced by M_Init().
static int M_CompleteMusic | ( | const char * | partial, | |
const char ** | match | |||
) | [static] |
Definition at line 285 of file s_music.c.
References Cmd_GenericCompleteFunction(), Com_Printf(), FS_BuildFileList(), FS_NextFileFromFileList(), len, and MAX_COMPLETE.
Referenced by M_Init().
void M_Frame | ( | void | ) |
Definition at line 320 of file s_music.c.
References cvar_s::integer, M_Start(), M_Stop(), cvar_s::modified, music_s::nextTrack, music_s::playingStream, qfalse, and cvar_s::string.
Referenced by S_Frame().
void M_Init | ( | void | ) |
Definition at line 339 of file s_music.c.
References Cmd_AddCommand(), Cmd_AddParamCompleteFunction(), Cmd_Exists(), Cmd_RemoveCommand(), CVAR_ARCHIVE, Cvar_Get(), M_Change_f(), M_CompleteMusic(), M_Play_f(), M_RandomTrack_f(), M_Stop(), cvar_s::modified, and qtrue.
Referenced by S_Init().
static void M_MusicStreamCallback | ( | musicStream_t * | userdata, | |
byte * | stream, | |||
int | length | |||
) | [static] |
Definition at line 365 of file s_music.c.
References MAX_RAW_SAMPLES, musicStream_s::mixerPos, musicStream_s::playing, musicStream_s::sampleBuf, musicStream_s::samplePos, and Sys_Sleep().
Referenced by M_PlayMusicStream().
void M_ParseMusic | ( | const char * | name, | |
const char ** | text | |||
) |
Parses music definitions for different situations.
Definition at line 62 of file s_music.c.
References cl_genericPool, Com_EParse(), Com_Parse(), Com_Printf(), FS_SkipBlock(), i, Mem_PoolStrDup, MUSIC_AIRCOMBAT, MUSIC_BATTLESCAPE, MUSIC_GEOSCAPE, MUSIC_MAIN, MUSIC_MAX_ENTRIES, musicArrayLength, and musicArrays.
Referenced by CL_ParseClientData().
static void M_Play_f | ( | void | ) | [static] |
Plays the music file given via commandline parameter.
Definition at line 200 of file s_music.c.
References Cmd_Argc(), Cmd_Argv(), Cvar_GetString(), Cvar_Set(), and M_Start().
Referenced by M_Init().
void M_PlayMusicStream | ( | musicStream_t * | userdata | ) |
Definition at line 432 of file s_music.c.
References M_MusicStreamCallback(), M_Stop(), musicStream_s::playing, music_s::playingStream, and qtrue.
Referenced by CIN_OGM_PlayCinematic(), and CIN_ROQ_PlayCinematic().
static void M_RandomTrack_f | ( | void | ) | [static] |
Sets the music cvar to a random track.
Definition at line 211 of file s_music.c.
References Com_DPrintf(), Com_Printf(), Com_SkipPath(), Com_sprintf(), Cvar_Set(), DEBUG_SOUND, FS_BuildFileList(), FS_NextFileFromFileList(), s_env_s::initialized, MAX_OSPATH, musicTrackCount, and s_env.
Referenced by M_Init().
void M_Shutdown | ( | void | ) |
Definition at line 355 of file s_music.c.
References Cmd_RemoveCommand(), and M_Stop().
Referenced by S_Shutdown().
static void M_Start | ( | const char * | file | ) | [static] |
Definition at line 130 of file s_music.c.
References music_s::buffer, byte, Com_Printf(), Com_StripExtension(), music_s::currentTrack, music_s::data, FS_FreeFile(), FS_LoadFile(), s_env_s::initialized, len, M_Stop(), MAX_QPATH, name, music_s::nextTrack, music_s::playingStream, Q_strncpyz(), s_env, UFO_SIZE_T, and va().
Referenced by M_Frame(), and M_Play_f().
void M_Stop | ( | void | ) |
Definition at line 109 of file s_music.c.
References music_s::buffer, music_s::data, FS_FreeFile(), and music_s::playingStream.
Referenced by M_Frame(), M_Init(), M_PlayMusicStream(), M_Shutdown(), and M_Start().
void M_StopMusicStream | ( | musicStream_t * | userdata | ) |
Definition at line 441 of file s_music.c.
References musicStream_s::playing, music_s::playingStream, and qfalse.
Referenced by CIN_OGM_StopCinematic(), and CIN_ROQ_StopCinematic().
int musicArrayLength[MUSIC_MAX] [static] |
Definition at line 52 of file s_music.c.
Referenced by M_Change_f(), and M_ParseMusic().
char* musicArrays[MUSIC_MAX][MUSIC_MAX_ENTRIES] [static] |
Definition at line 51 of file s_music.c.
Referenced by M_Change_f(), and M_ParseMusic().
int musicTrackCount [static] |
Definition at line 54 of file s_music.c.
Referenced by M_RandomTrack_f().
cvar_t* snd_music_volume [static] |