xref: /haiku/src/add-ons/kernel/drivers/audio/echo/generic/CEchoGals_mixer.h (revision 626bc4bee107897c38c596c3440cf0a74b4b9c40)
13895766dSshatty // ****************************************************************************
23895766dSshatty //
33895766dSshatty //		CEchoGals_mixer.h
43895766dSshatty //
53895766dSshatty //		Set editor tabs to 3 for your viewing pleasure.
63895766dSshatty //
73895766dSshatty // ----------------------------------------------------------------------------
83895766dSshatty //
9*626bc4beSJérôme Duval // This file is part of Echo Digital Audio's generic driver library.
10*626bc4beSJérôme Duval // Copyright Echo Digital Audio Corporation (c) 1998 - 2005
113895766dSshatty // All rights reserved
123895766dSshatty // www.echoaudio.com
133895766dSshatty //
14*626bc4beSJérôme Duval // This library is free software; you can redistribute it and/or
15*626bc4beSJérôme Duval // modify it under the terms of the GNU Lesser General Public
16*626bc4beSJérôme Duval // License as published by the Free Software Foundation; either
17*626bc4beSJérôme Duval // version 2.1 of the License, or (at your option) any later version.
183895766dSshatty //
19*626bc4beSJérôme Duval // This library is distributed in the hope that it will be useful,
20c2ddc71cSJérôme Duval // but WITHOUT ANY WARRANTY; without even the implied warranty of
21*626bc4beSJérôme Duval // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
22*626bc4beSJérôme Duval // Lesser General Public License for more details.
233895766dSshatty //
24*626bc4beSJérôme Duval // You should have received a copy of the GNU Lesser General Public
25*626bc4beSJérôme Duval // License along with this library; if not, write to the Free Software
26*626bc4beSJérôme Duval // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
273895766dSshatty //
283895766dSshatty // ****************************************************************************
293895766dSshatty 
303895766dSshatty #ifndef _CEchoGals_mixer_h_
313895766dSshatty #define _CEchoGals_mixer_h_
323895766dSshatty 
333895766dSshatty //===========================================================================
343895766dSshatty //
353895766dSshatty // Mixer client stuff
363895766dSshatty //
373895766dSshatty //===========================================================================
383895766dSshatty 
393895766dSshatty //
403895766dSshatty //	Max number of notifies stored per card
413895766dSshatty //
423895766dSshatty #define MAX_MIXER_NOTIFIES		2048
433895766dSshatty 
443895766dSshatty //
453895766dSshatty //	Structure describing a mixer client.  The notifies are stored in a circular
463895766dSshatty // buffer
473895766dSshatty //
483895766dSshatty typedef struct tECHO_MIXER_CLIENT
493895766dSshatty {
50c2ddc71cSJérôme Duval 	NUINT				Cookie;		//	Unique ID for this client
513895766dSshatty 
523895766dSshatty 	DWORD				dwCount;
533895766dSshatty 	DWORD				dwHead;
543895766dSshatty 	DWORD				dwTail;
553895766dSshatty 
563895766dSshatty 	MIXER_NOTIFY	Notifies[MAX_MIXER_NOTIFIES];
573895766dSshatty 
583895766dSshatty 	struct tECHO_MIXER_CLIENT *pNext;
593895766dSshatty 
603895766dSshatty } ECHO_MIXER_CLIENT;
613895766dSshatty 
623895766dSshatty #endif // _CEchoGals_mixer_h_
63