xref: /haiku/src/add-ons/kernel/drivers/audio/echo/generic/CEchoGals_mixer.h (revision 3895766d9c145ef53753edb70dd4ab6f6a08fb46)
1 // ****************************************************************************
2 //
3 //		CEchoGals_mixer.h
4 //
5 //		Set editor tabs to 3 for your viewing pleasure.
6 //
7 // ----------------------------------------------------------------------------
8 //
9 //		Copyright Echo Digital Audio Corporation (c) 1998 - 2002
10 //		All rights reserved
11 //		www.echoaudio.com
12 //
13 //		Permission is hereby granted, free of charge, to any person obtaining a
14 //		copy of this software and associated documentation files (the
15 //		"Software"), to deal with the Software without restriction, including
16 //		without limitation the rights to use, copy, modify, merge, publish,
17 //		distribute, sublicense, and/or sell copies of the Software, and to
18 //		permit persons to whom the Software is furnished to do so, subject to
19 //		the following conditions:
20 //
21 //		- Redistributions of source code must retain the above copyright
22 //		notice, this list of conditions and the following disclaimers.
23 //
24 //		- Redistributions in binary form must reproduce the above copyright
25 //		notice, this list of conditions and the following disclaimers in the
26 //		documentation and/or other materials provided with the distribution.
27 //
28 //		- Neither the name of Echo Digital Audio, nor the names of its
29 //		contributors may be used to endorse or promote products derived from
30 //		this Software without specific prior written permission.
31 //
32 //		THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
33 //		EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
34 //		MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
35 //		IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR
36 //		ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
37 //		TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
38 //		SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE SOFTWARE.
39 //
40 // ****************************************************************************
41 
42 #ifndef _CEchoGals_mixer_h_
43 #define _CEchoGals_mixer_h_
44 
45 //===========================================================================
46 //
47 // Mixer client stuff
48 //
49 //===========================================================================
50 
51 //
52 //	Max number of notifies stored per card
53 //
54 #define MAX_MIXER_NOTIFIES		2048
55 
56 //
57 //	Structure describing a mixer client.  The notifies are stored in a circular
58 // buffer
59 //
60 typedef struct tECHO_MIXER_CLIENT
61 {
62 	DWORD				dwCookie;		//	Unique ID for this client
63 
64 	DWORD				dwCount;
65 	DWORD				dwHead;
66 	DWORD				dwTail;
67 
68 	MIXER_NOTIFY	Notifies[MAX_MIXER_NOTIFIES];
69 
70 	struct tECHO_MIXER_CLIENT *pNext;
71 
72 } ECHO_MIXER_CLIENT;
73 
74 #endif // _CEchoGals_mixer_h_
75