1 // **************************************************************************** 2 // 3 // CLayla24.h 4 // 5 // Include file for interfacing with the CLayla24 generic driver class 6 // Set editor tabs to 3 for your viewing pleasure. 7 // 8 // ---------------------------------------------------------------------------- 9 // 10 // This file is part of Echo Digital Audio's generic driver library. 11 // Copyright Echo Digital Audio Corporation (c) 1998 - 2005 12 // All rights reserved 13 // www.echoaudio.com 14 // 15 // This library is free software; you can redistribute it and/or 16 // modify it under the terms of the GNU Lesser General Public 17 // License as published by the Free Software Foundation; either 18 // version 2.1 of the License, or (at your option) any later version. 19 // 20 // This library is distributed in the hope that it will be useful, 21 // but WITHOUT ANY WARRANTY; without even the implied warranty of 22 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 23 // Lesser General Public License for more details. 24 // 25 // You should have received a copy of the GNU Lesser General Public 26 // License along with this library; if not, write to the Free Software 27 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 28 // 29 // **************************************************************************** 30 31 // Prevent problems with multiple includes 32 #ifndef _LAYLA24OBJECT_ 33 #define _LAYLA24OBJECT_ 34 35 #include "CEchoGalsMTC.h" 36 #include "CLayla24DspCommObject.h" 37 38 39 // 40 // Class used for interfacing with the Layla24 audio card. 41 // 42 class CLayla24 : public CEchoGalsMTC 43 { 44 public: 45 // 46 // Construction/destruction 47 // 48 CLayla24( PCOsSupport pOsSupport ); 49 virtual ~CLayla24(); 50 51 // 52 // Setup & initialization methods 53 // 54 virtual ECHOSTATUS InitHw(); 55 56 // 57 // Adapter information methods 58 // 59 virtual ECHOSTATUS GetCapabilities 60 ( 61 PECHOGALS_CAPS pCapabilities 62 ); 63 64 // 65 // Audio interface methods 66 // 67 virtual ECHOSTATUS QueryAudioSampleRate 68 ( 69 DWORD dwSampleRate 70 ); 71 72 virtual void QuerySampleRateRange(DWORD &dwMinRate,DWORD &dwMaxRate); 73 74 // 75 // Get a bitmask of all the clocks the hardware is currently detecting 76 // 77 virtual ECHOSTATUS GetInputClockDetect(DWORD &dwClockDetectBits); 78 79 // 80 // Overload new & delete so memory for this object is allocated from non-paged memory. 81 // 82 PVOID operator new( size_t Size ); 83 VOID operator delete( PVOID pVoid ); 84 85 protected: 86 // 87 // Get access to the appropriate DSP comm object 88 // 89 PCLayla24DspCommObject GetDspCommObject() 90 { return( (PCLayla24DspCommObject) m_pDspCommObject ); } 91 92 }; // class CLayla24 93 94 typedef CLayla24 * PCLayla24; 95 96 #endif 97 98 // *** Layla24.H *** 99