X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=sound.h;h=684102eece285082e775d662d857da8e09af6d3e;hb=bb3a21f6b78f1485382aa33e77ac3efd3dbff59f;hp=a37b2e8d0958dc7007624be0d94e9b343971ba37;hpb=0256e57e16a302ad45090618b8d6eb5930788809;p=xonotic%2Fdarkplaces.git diff --git a/sound.h b/sound.h index a37b2e8d..684102ee 100644 --- a/sound.h +++ b/sound.h @@ -90,6 +90,8 @@ typedef struct void S_Init (void); void S_Startup (void); void S_Shutdown (void); +void S_Open (void); +void S_Close (void); void S_StartSound (int entnum, int entchannel, sfx_t *sfx, vec3_t origin, float fvol, float attenuation); void S_StaticSound (sfx_t *sfx, vec3_t origin, float vol, float attenuation); void S_StopSound (int entnum, int entchannel); @@ -98,7 +100,7 @@ void S_ClearBuffer (void); void S_Update (vec3_t origin, vec3_t v_forward, vec3_t v_right, vec3_t v_up); void S_ExtraUpdate (void); -sfx_t *S_PrecacheSound (char *sample); +sfx_t *S_PrecacheSound (char *sample, int complain); void S_TouchSound (char *sample); void S_ClearPrecache (void); void S_BeginPrecaching (void); @@ -167,7 +169,7 @@ extern qboolean snd_initialized; extern int snd_blocked; void S_LocalSound (char *s); -sfxcache_t *S_LoadSound (sfx_t *s); +sfxcache_t *S_LoadSound (sfx_t *s, int complain); wavinfo_t GetWavinfo (char *name, qbyte *wav, int wavlength); @@ -177,5 +179,23 @@ void SNDDMA_Submit(void); void S_AmbientOff (void); void S_AmbientOn (void); +void *S_LockBuffer(void); +void S_UnlockBuffer(void); + +// add some data to the tail of the rawsamples queue +void S_RawSamples_Enqueue(short *samples, unsigned int length); +// read and remove some data from the head of the rawsamples queue +void S_RawSamples_Dequeue(int *samples, unsigned int length); +// empty the rawsamples queue +void S_RawSamples_ClearQueue(void); +// returns how much more data the queue wants, or 0 if it is already full enough +int S_RawSamples_QueueWantsMore(void); + +// resamples one sound buffer into another, while changing the length +void S_ResampleBuffer16Stereo(short *input, int inputlength, short *output, int outputlength); + +// returns the rate that the rawsamples system is running at +int S_RawSamples_SampleRate(void); + #endif