diff options
Diffstat (limited to 'demos/3rdparty/doom/i_sound.h')
-rw-r--r-- | demos/3rdparty/doom/i_sound.h | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/demos/3rdparty/doom/i_sound.h b/demos/3rdparty/doom/i_sound.h new file mode 100644 index 00000000..63745e5c --- /dev/null +++ b/demos/3rdparty/doom/i_sound.h @@ -0,0 +1,115 @@ +// Emacs style mode select -*- C++ -*- +//----------------------------------------------------------------------------- +// +// $Id:$ +// +// Copyright (C) 1993-1996 by id Software, Inc. +// +// This source is available for distribution and/or modification +// only under the terms of the DOOM Source Code License as +// published by id Software. All rights reserved. +// +// The source is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License +// for more details. +// +// +// DESCRIPTION: +// System interface, sound. +// +//----------------------------------------------------------------------------- + +#ifndef __I_SOUND__ +#define __I_SOUND__ + +#include "doomdef.h" + +#include "doomstat.h" +#include "sounds.h" + + + +// Init at program start... +void I_InitSound(); + +// ... update sound buffer and audio device at runtime... +void I_UpdateSound(void); +void I_SubmitSound(void); + +// ... shut down and relase at program termination. +void I_ShutdownSound(void); + + +// +// SFX I/O +// + +// Initialize channels? +void I_SetChannels(); + +// Get raw data lump index for sound descriptor. +int I_GetSfxLumpNum (sfxinfo_t* sfxinfo ); + + +// Starts a sound in a particular sound channel. +int +I_StartSound +( int id, + int vol, + int sep, + int pitch, + int priority ); + + +// Stops a sound channel. +void I_StopSound(int handle); + +// Called by S_*() functions +// to see if a channel is still playing. +// Returns 0 if no longer playing, 1 if playing. +int I_SoundIsPlaying(int handle); + +// Updates the volume, separation, +// and pitch of a sound channel. +void +I_UpdateSoundParams +( int handle, + int vol, + int sep, + int pitch ); + + +// +// MUSIC I/O +// +void I_InitMusic(void); +void I_ShutdownMusic(void); +// Volume. +void I_SetMusicVolume(int volume); +// PAUSE game handling. +void I_PauseSong(int handle); +void I_ResumeSong(int handle); +// Registers a song handle to song data. +int I_RegisterSong(void *data); +// Called by anything that wishes to start music. +// plays a song, and when the song is done, +// starts playing it again in an endless loop. +// Horrible thing to do, considering. +void +I_PlaySong +( int handle, + int looping ); +// Stops a song over 3 seconds. +void I_StopSong(int handle); +// See above (register), then think backwards +void I_UnRegisterSong(int handle); + + + +#endif +//----------------------------------------------------------------------------- +// +// $Log:$ +// +//----------------------------------------------------------------------------- |