]> icculus.org git repositories - taylor/freespace2.git/blob - include/channel.h
Initial revision
[taylor/freespace2.git] / include / channel.h
1 /*
2  * $Logfile: /Freespace2/code/Sound/channel.h $
3  * $Revision$
4  * $Date$
5  * $Author$
6  *
7  * Common types for the sound channels shared by the DirectSound modules
8  *
9  * $Log$
10  * Revision 1.1  2002/05/03 03:28:12  root
11  * Initial revision
12  *
13  * 
14  * 4     10/25/99 5:56p Jefff
15  * increase num software channels to the number the users hardware can
16  * handle.  not less than 16, tho.
17  * 
18  * 3     8/27/99 6:38p Alanl
19  * crush the blasted repeating messages bug
20  * 
21  * 2     10/07/98 10:54a Dave
22  * Initial checkin.
23  * 
24  * 1     10/07/98 10:51a Dave
25  * 
26  * 6     12/05/97 5:19p Lawrance
27  * re-do sound priorities to make more general and extensible
28  * 
29  * 5     7/17/97 9:32a John
30  * made all directX header files name start with a v
31  * 
32  * 4     7/15/97 11:15a Lawrance
33  * limit the max instances of simultaneous sound effects, implement
34  * priorities to force critical sounds
35  * 
36  * 3     6/09/97 8:53a Lawrance
37  * add #ifndef ... #endif to avoid multiple inclusion
38  * 
39  * 2     6/08/97 6:00p Lawrance
40  * created to share channel defs between ds.cpp and ds3d.cpp
41  *
42  * $NoKeywords: $
43  */
44
45
46 #include <windows.h>
47 #include "vdsound.h"
48
49 #ifndef __CHANNEL_H__
50 #define __CHANNEL_H__
51
52 typedef struct channel
53 {
54         int                                                     sig;                    // uniquely identifies the sound playing on the channel
55         int                                                     snd_id;         // identifies which kind of sound is playing
56         LPDIRECTSOUNDBUFFER             pdsb;                   // pointer to the secondary buffer that was duplicated 
57         LPDIRECTSOUND3DBUFFER   pds3db;         // 3D interface, only used if sound buffer created with CTRL3D flag
58         int                                                     looping;                // flag to indicate that the sound is looping
59         int                                                     vol;                    // in DirectSound units
60         int                                                     priority;       // implementation dependant priority
61         bool                                                    is_voice_msg;
62         DWORD                   last_position;                    
63 } channel;
64
65
66 // #define      MAX_CHANNELS  16
67 extern  channel* Channels;    //[MAX_CHANNELS];
68
69 #endif /* __CHANNEL_H__ */
70