summaryrefslogtreecommitdiff
path: root/apps/plugins/doom/i_sound.h
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/doom/i_sound.h')
-rw-r--r--apps/plugins/doom/i_sound.h126
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
31extern FILE* sndserver;
32extern char* sndserver_filename;
33#endif
34
35#include "doomstat.h"
36#include "sounds.h"
37
38
39
40// Init at program start...
41void I_InitSound(void);
42
43// ... update sound buffer and audio device at runtime...
44void I_UpdateSound(void);
45void I_SubmitSound(void);
46
47// ... shut down and relase at program termination.
48void I_ShutdownSound(void);
49
50
51//
52// SFX I/O
53//
54
55// Initialize channels?
56void I_SetChannels(void);
57
58// Get raw data lump index for sound descriptor.
59int I_GetSfxLumpNum (sfxinfo_t* sfxinfo );
60
61
62// Starts a sound in a particular sound channel.
63int
64I_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.
74void 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.
79int I_SoundIsPlaying(int handle);
80
81// Updates the volume, separation,
82// and pitch of a sound channel.
83void
84I_UpdateSoundParams
85( int handle,
86 int vol,
87 int sep,
88 int pitch );
89
90
91//
92// MUSIC I/O
93//
94void I_InitMusic(void);
95void I_ShutdownMusic(void);
96// Volume.
97void I_SetMusicVolume(int volume);
98// PAUSE game handling.
99void I_PauseSong(int handle);
100void I_ResumeSong(int handle);
101// Registers a song handle to song data.
102int 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.
107void
108I_PlaySong
109( int handle,
110 int looping );
111// Stops a song over 3 seconds.
112void I_StopSong(int handle);
113// See above (register), then think backwards
114void 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//-----------------------------------------------------------------------------