xref: /haiku/src/add-ons/kernel/drivers/audio/echo/generic/CGMLDspCommObject.h (revision 51978af14a173e7fae0563b562be5603bc652aeb)
1 // ****************************************************************************
2 //
3 //		CGMLDspCommObject.H
4 //
5 //		Common DSP interface class for Gina24, Layla24, and Mona
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	_GMLDSPCOMMOBJECT_
43 #define	_GMLDSPCOMMOBJECT_
44 
45 class CGMLDspCommObject : public CDspCommObject
46 {
47 public:
48 	CGMLDspCommObject( PDWORD pdwRegBase, PCOsSupport pOsSupport )
49 		: CDspCommObject(pdwRegBase, pOsSupport)
50 	{
51 	}
52 
53 	virtual ~CGMLDspCommObject() {}
54 
55 protected:
56 
57 	//
58 	// Set get S/PDIF output format
59 	//
60 	virtual void SetProfessionalSpdif( BOOL bNewStatus );
61 
62 	virtual BOOL IsProfessionalSpdif()
63 		{ return( m_bProfessionalSpdif ); }
64 
65 	//
66 	// Write the Gina24/Mona/Layla24 control reg
67 	//
68 	virtual ECHOSTATUS WriteControlReg( DWORD dwControlReg );
69 
70 	//
71 	// Member variables
72 	//
73 	BOOL m_bProfessionalSpdif;
74 
75 };		// class CGMLDspCommObject
76 
77 #endif // _GMLDSPCOMMOBJECT_
78 
79 // **** GMLDspCommObject.h ****
80