diff --git a/Quake/snd_dma.c b/Quake/snd_dma.c index 48cf0329..9bb77e7c 100644 --- a/Quake/snd_dma.c +++ b/Quake/snd_dma.c @@ -1133,6 +1133,27 @@ qboolean S_BackgroundTrackIsPlaying( void ) return (NULL != s_backgroundStream) && (!s_backgroundPaused); } +/* + ========================== + S_BackgroundTrackIsPaused + ========================== + */ +qboolean S_BackgroundTrackIsPaused( void ) +{ + return (NULL != s_backgroundStream) && (s_backgroundPaused); +} + +/* + ========================== + S_BackgroundTrackIsLooping + ========================== + */ +qboolean S_BackgroundTrackIsLooping( void ) +{ + return s_backgroundLoop; +} + + void S_BlockSound (void) { /* FIXME: do we really need the blocking at the diff --git a/Quake/sound.h b/Quake/sound.h index 3bde09a4..73c63400 100644 --- a/Quake/sound.h +++ b/Quake/sound.h @@ -148,6 +148,8 @@ void S_Base_StopBackgroundTrack( void ); qboolean S_Base_StartBackgroundTrack( const char *intro, qboolean loop, S_BackgroundTrackFinishedCallback callback, void *userdata ); void S_UpdateBackgroundTrack( void ); qboolean S_BackgroundTrackIsPlaying( void ); +qboolean S_BackgroundTrackIsPaused( void ); +qboolean S_BackgroundTrackIsLooping( void ); /* resamples a whole file. return value must be freed with free() */ void *Snd_Resample(int inrate, int inwidth, int innumsamples, int channels, const void *indata,