1// ****************************************************************************
2//
3//		CMonaDspCommObject.H
4//
5//		Include file for EchoGals generic driver Mona DSP interface class.
6//
7// ----------------------------------------------------------------------------
8//
9// This file is part of Echo Digital Audio's generic driver library.
10// Copyright Echo Digital Audio Corporation (c) 1998 - 2005
11// All rights reserved
12// www.echoaudio.com
13//
14// This library is free software; you can redistribute it and/or
15// modify it under the terms of the GNU Lesser General Public
16// License as published by the Free Software Foundation; either
17// version 2.1 of the License, or (at your option) any later version.
18//
19// This library is distributed in the hope that it will be useful,
20// but WITHOUT ANY WARRANTY; without even the implied warranty of
21// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
22// Lesser General Public License for more details.
23//
24// You should have received a copy of the GNU Lesser General Public
25// License along with this library; if not, write to the Free Software
26// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
27//
28// ****************************************************************************
29
30#ifndef	_MONADSPCOMMOBJECT_
31#define	_MONADSPCOMMOBJECT_
32
33#include "CGMLDspCommObject.h"
34
35class CMonaDspCommObject : public CGMLDspCommObject
36{
37public:
38	//
39	//	Construction/destruction
40	//
41	CMonaDspCommObject( PDWORD pdwRegBase, PCOsSupport pOsSupport );
42	virtual ~CMonaDspCommObject();
43
44	//
45	//	Set the DSP sample rate.
46	//	Return rate that was set, -1 if error
47	//
48	virtual DWORD SetSampleRate( DWORD dwNewSampleRate );
49	//
50	//	Send current setting to DSP & return what it is
51	//
52	virtual DWORD SetSampleRate()
53		{ return( SetSampleRate( GetSampleRate() ) ); }
54	//
55	//	Set digital mode
56	//
57	virtual ECHOSTATUS SetDigitalMode
58	(
59		BYTE	byNewMode
60	);
61
62	//
63	//	Card information
64	//
65	virtual WORD GetCardType()
66		{ return( MONA ); }
67
68protected:
69
70	virtual BOOL LoadASIC();
71	BOOL SwitchAsic( DWORD dwMask96 );
72
73	//
74	//	Set input clock
75	//
76	virtual ECHOSTATUS SetInputClock(WORD wClock);
77
78	BYTE *	m_pbyAsic;					// Current ASIC code
79
80};		// class CMonaDspCommObject
81
82typedef CMonaDspCommObject * PCMonaDspCommObject;
83
84#endif
85
86// **** MonaDspCommObject.h ****
87