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 35 class CMonaDspCommObject : public CGMLDspCommObject 36 { 37 public: 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 // SetSampleRate()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 // GetCardType()65 virtual WORD GetCardType() 66 { return( MONA ); } 67 68 protected: 69 70 virtual BOOL LoadASIC(); 71 using CGMLDspCommObject::LoadASIC; 72 BOOL SwitchAsic( DWORD dwMask96 ); 73 74 // 75 // Set input clock 76 // 77 virtual ECHOSTATUS SetInputClock(WORD wClock); 78 79 BYTE * m_pbyAsic; // Current ASIC code 80 81 }; // class CMonaDspCommObject 82 83 typedef CMonaDspCommObject * PCMonaDspCommObject; 84 85 #endif 86 87 // **** MonaDspCommObject.h **** 88