1 // **************************************************************************** 2 // 3 // CGina24DspCommObject.H 4 // 5 // Include file for EchoGals generic driver Gina24 DSP interface class. 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 _GINA24DSPCOMMOBJECT_ 43 #define _GINA24DSPCOMMOBJECT_ 44 45 #include "CGMLDspCommObject.h" 46 47 class CGina24DspCommObject : public CGMLDspCommObject 48 { 49 public: 50 // 51 // Construction/destruction 52 // 53 CGina24DspCommObject( PDWORD pdwRegBase, PCOsSupport pOsSupport ); 54 virtual ~CGina24DspCommObject(); 55 56 // 57 // Set the DSP sample rate. 58 // Return rate that was set, -1 if error 59 // 60 virtual DWORD SetSampleRate( DWORD dwNewSampleRate ); 61 // 62 // Send current setting to DSP & return what it is 63 // 64 virtual DWORD SetSampleRate() 65 { return( SetSampleRate( GetSampleRate() ) ); } 66 // 67 // Set digital mode 68 // 69 virtual ECHOSTATUS SetDigitalMode 70 ( 71 BYTE byNewMode 72 ); 73 // 74 // Get mask of all supported digital modes 75 // (See ECHOCAPS_HAS_DIGITAL_MODE_??? defines in EchoGalsXface.h) 76 // 77 virtual DWORD GetDigitalModes() 78 { return( ECHOCAPS_HAS_DIGITAL_MODE_SPDIF_RCA | 79 ECHOCAPS_HAS_DIGITAL_MODE_SPDIF_OPTICAL | 80 ECHOCAPS_HAS_DIGITAL_MODE_ADAT | 81 ECHOCAPS_HAS_DIGITAL_MODE_SPDIF_CDROM ); } 82 83 // 84 // Set input clock 85 // 86 virtual ECHOSTATUS SetInputClock(WORD wClock); 87 88 // 89 // Card information 90 // 91 virtual WORD GetCardType() 92 { return( GINA24 ); } 93 94 protected: 95 96 virtual BOOL LoadASIC(); 97 98 BYTE * m_pbyAsic; // Current ASIC code 99 100 }; // class CGina24DspCommObject 101 102 typedef CGina24DspCommObject * PCGina24DspCommObject; 103 104 #endif 105 106 // **** Gina24DspCommObject.h **** 107