diff options
Diffstat (limited to 'apps/plugins/doom/i_sound.h')
-rw-r--r-- | apps/plugins/doom/i_sound.h | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/apps/plugins/doom/i_sound.h b/apps/plugins/doom/i_sound.h new file mode 100644 index 0000000000..2e733b1c62 --- /dev/null +++ b/apps/plugins/doom/i_sound.h | |||
@@ -0,0 +1,126 @@ | |||
1 | // Emacs style mode select -*- C++ -*- | ||
2 | //----------------------------------------------------------------------------- | ||
3 | // | ||
4 | // $Id$ | ||
5 | // | ||
6 | // Copyright (C) 1993-1996 by id Software, Inc. | ||
7 | // | ||
8 | // This program is free software; you can redistribute it and/or | ||
9 | // modify it under the terms of the GNU General Public License | ||
10 | // as published by the Free Software Foundation; either version 2 | ||
11 | // of the License, or (at your option) any later version. | ||
12 | // | ||
13 | // This program is distributed in the hope that it will be useful, | ||
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | // GNU General Public License for more details. | ||
17 | // | ||
18 | // | ||
19 | // DESCRIPTION: | ||
20 | // System interface, sound. | ||
21 | // | ||
22 | //----------------------------------------------------------------------------- | ||
23 | |||
24 | #ifndef __I_SOUND__ | ||
25 | #define __I_SOUND__ | ||
26 | |||
27 | #include "doomdef.h" | ||
28 | |||
29 | // UNIX hack, to be removed. | ||
30 | #ifdef SNDSERV | ||
31 | extern FILE* sndserver; | ||
32 | extern char* sndserver_filename; | ||
33 | #endif | ||
34 | |||
35 | #include "doomstat.h" | ||
36 | #include "sounds.h" | ||
37 | |||
38 | |||
39 | |||
40 | // Init at program start... | ||
41 | void I_InitSound(void); | ||
42 | |||
43 | // ... update sound buffer and audio device at runtime... | ||
44 | void I_UpdateSound(void); | ||
45 | void I_SubmitSound(void); | ||
46 | |||
47 | // ... shut down and relase at program termination. | ||
48 | void I_ShutdownSound(void); | ||
49 | |||
50 | |||
51 | // | ||
52 | // SFX I/O | ||
53 | // | ||
54 | |||
55 | // Initialize channels? | ||
56 | void I_SetChannels(void); | ||
57 | |||
58 | // Get raw data lump index for sound descriptor. | ||
59 | int I_GetSfxLumpNum (sfxinfo_t* sfxinfo ); | ||
60 | |||
61 | |||
62 | // Starts a sound in a particular sound channel. | ||
63 | int | ||
64 | I_StartSound | ||
65 | ( int id, | ||
66 | int vol, | ||
67 | int cnum, | ||
68 | int sep, | ||
69 | int pitch, | ||
70 | int priority ); | ||
71 | |||
72 | |||
73 | // Stops a sound channel. | ||
74 | void I_StopSound(int handle); | ||
75 | |||
76 | // Called by S_*() functions | ||
77 | // to see if a channel is still playing. | ||
78 | // Returns 0 if no longer playing, 1 if playing. | ||
79 | int I_SoundIsPlaying(int handle); | ||
80 | |||
81 | // Updates the volume, separation, | ||
82 | // and pitch of a sound channel. | ||
83 | void | ||
84 | I_UpdateSoundParams | ||
85 | ( int handle, | ||
86 | int vol, | ||
87 | int sep, | ||
88 | int pitch ); | ||
89 | |||
90 | |||
91 | // | ||
92 | // MUSIC I/O | ||
93 | // | ||
94 | void I_InitMusic(void); | ||
95 | void I_ShutdownMusic(void); | ||
96 | // Volume. | ||
97 | void I_SetMusicVolume(int volume); | ||
98 | // PAUSE game handling. | ||
99 | void I_PauseSong(int handle); | ||
100 | void I_ResumeSong(int handle); | ||
101 | // Registers a song handle to song data. | ||
102 | int I_RegisterSong(const void *data); | ||
103 | // Called by anything that wishes to start music. | ||
104 | // plays a song, and when the song is done, | ||
105 | // starts playing it again in an endless loop. | ||
106 | // Horrible thing to do, considering. | ||
107 | void | ||
108 | I_PlaySong | ||
109 | ( int handle, | ||
110 | int looping ); | ||
111 | // Stops a song over 3 seconds. | ||
112 | void I_StopSong(int handle); | ||
113 | // See above (register), then think backwards | ||
114 | void I_UnRegisterSong(int handle); | ||
115 | |||
116 | |||
117 | |||
118 | #endif | ||
119 | //----------------------------------------------------------------------------- | ||
120 | // | ||
121 | // $Log$ | ||
122 | // Revision 1.1 2006/03/28 15:44:01 dave | ||
123 | // Patch #2969 - Doom! Currently only working on the H300. | ||
124 | // | ||
125 | // | ||
126 | //----------------------------------------------------------------------------- | ||