xref: /haiku/src/add-ons/kernel/drivers/audio/echo/generic/CEchoGals_mixer.h (revision c2ddc71cc54397447f60bda00ea1ceca5c80bead)
1 // ****************************************************************************
2 //
3 //		CEchoGals_mixer.h
4 //
5 //		Set editor tabs to 3 for your viewing pleasure.
6 //
7 // ----------------------------------------------------------------------------
8 //
9 // ----------------------------------------------------------------------------
10 //
11 //   Copyright Echo Digital Audio Corporation (c) 1998 - 2004
12 //   All rights reserved
13 //   www.echoaudio.com
14 //
15 //   This file is part of Echo Digital Audio's generic driver library.
16 //
17 //   Echo Digital Audio's generic driver library is free software;
18 //   you can redistribute it and/or modify it under the terms of
19 //   the GNU General Public License as published by the Free Software Foundation.
20 //
21 //   This program is distributed in the hope that it will be useful,
22 //   but WITHOUT ANY WARRANTY; without even the implied warranty of
23 //   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24 //   GNU General Public License for more details.
25 //
26 //   You should have received a copy of the GNU General Public License
27 //   along with this program; if not, write to the Free Software
28 //   Foundation, Inc., 59 Temple Place - Suite 330, Boston,
29 //   MA  02111-1307, USA.
30 //
31 // ****************************************************************************
32 
33 #ifndef _CEchoGals_mixer_h_
34 #define _CEchoGals_mixer_h_
35 
36 //===========================================================================
37 //
38 // Mixer client stuff
39 //
40 //===========================================================================
41 
42 //
43 //	Max number of notifies stored per card
44 //
45 #define MAX_MIXER_NOTIFIES		2048
46 
47 //
48 //	Structure describing a mixer client.  The notifies are stored in a circular
49 // buffer
50 //
51 typedef struct tECHO_MIXER_CLIENT
52 {
53 	NUINT				Cookie;		//	Unique ID for this client
54 
55 	DWORD				dwCount;
56 	DWORD				dwHead;
57 	DWORD				dwTail;
58 
59 	MIXER_NOTIFY	Notifies[MAX_MIXER_NOTIFIES];
60 
61 	struct tECHO_MIXER_CLIENT *pNext;
62 
63 } ECHO_MIXER_CLIENT;
64 
65 #endif // _CEchoGals_mixer_h_
66