1 // **************************************************************************** 2 // 3 // CGMLDspCommObject.H 4 // 5 // Common DSP interface class for Gina24, Layla24, and Mona 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 _GMLDSPCOMMOBJECT_ 31 #define _GMLDSPCOMMOBJECT_ 32 33 class CGMLDspCommObject : public CDspCommObject 34 { 35 public: CGMLDspCommObject(PDWORD pdwRegBase,PCOsSupport pOsSupport)36 CGMLDspCommObject( PDWORD pdwRegBase, PCOsSupport pOsSupport ) 37 : CDspCommObject(pdwRegBase, pOsSupport) 38 { 39 } 40 ~CGMLDspCommObject()41 virtual ~CGMLDspCommObject() {} 42 43 // 44 // Get mask of all supported digital modes 45 // (See ECHOCAPS_HAS_DIGITAL_MODE_??? defines in EchoGalsXface.h) 46 // GetDigitalModes()47 virtual DWORD GetDigitalModes() 48 { return( ECHOCAPS_HAS_DIGITAL_MODE_SPDIF_RCA | 49 ECHOCAPS_HAS_DIGITAL_MODE_SPDIF_OPTICAL | 50 ECHOCAPS_HAS_DIGITAL_MODE_ADAT ); } 51 52 // 53 // Set digital mode 54 // 55 virtual ECHOSTATUS SetDigitalMode 56 ( 57 BYTE byNewMode 58 ); 59 60 // 61 // Set get S/PDIF output format 62 // 63 virtual void SetProfessionalSpdif( BOOL bNewStatus ); 64 IsProfessionalSpdif()65 virtual BOOL IsProfessionalSpdif() 66 { return( m_bProfessionalSpdif ); } 67 68 // 69 // Get/Set S/PDIF out non-audio status bit 70 // IsSpdifOutNonAudio()71 virtual BOOL IsSpdifOutNonAudio() 72 { 73 return m_bNonAudio; 74 } 75 76 virtual void SetSpdifOutNonAudio(BOOL bNonAudio); 77 78 protected: 79 // 80 // Write the Gina24/Mona/Layla24 control reg 81 // 82 virtual ECHOSTATUS WriteControlReg( DWORD dwControlReg, BOOL fForceWrite = FALSE ); 83 84 // 85 // Member variables 86 // 87 BOOL m_bProfessionalSpdif; 88 BOOL m_bNonAudio; 89 90 }; // class CGMLDspCommObject 91 92 #endif // _GMLDSPCOMMOBJECT_ 93 94 // **** GMLDspCommObject.h **** 95