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