1// **************************************************************************** 2// 3// CLayla.h 4// 5// Include file for interfacing with the CLayla 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 _LAYLAOBJECT_ 33#define _LAYLAOBJECT_ 34 35#include "CEchoGalsMTC.h" 36#include "CLaylaDspCommObject.h" 37 38 39// 40// Class used for interfacing with the Layla audio card. 41// 42class CLayla : public CEchoGalsMTC 43{ 44public: 45 // 46 // Construction/destruction 47 // 48 CLayla( PCOsSupport pOsSupport ); 49 50 virtual ~CLayla(); 51 52 // 53 // Setup & initialization methods 54 // 55 56 virtual ECHOSTATUS InitHw(); 57 58 // 59 // Adapter information methods 60 // 61 62 virtual ECHOSTATUS GetCapabilities 63 ( 64 PECHOGALS_CAPS pCapabilities 65 ); 66 67 // 68 // Audio Interface methods 69 // 70 virtual ECHOSTATUS QueryAudioSampleRate 71 ( 72 DWORD dwSampleRate 73 ); 74 75 virtual void QuerySampleRateRange(DWORD &dwMinRate,DWORD &dwMaxRate); 76 77 // 78 // Get a bitmask of all the clocks the hardware is currently detecting 79 // 80 virtual ECHOSTATUS GetInputClockDetect(DWORD &dwClockDetectBits); 81 82 // 83 // Overload new & delete so memory for this object is allocated from non-paged memory. 84 // 85 PVOID operator new( size_t Size ); 86 VOID operator delete( PVOID pVoid ); 87 88protected: 89 90 // 91 // Get access to the appropriate DSP comm object 92 // 93 PCLaylaDspCommObject GetDspCommObject() 94 { return( (PCLaylaDspCommObject) m_pDspCommObject ); } 95 96}; // class CLayla 97 98typedef CLayla * PCLayla; 99 100#endif 101 102// *** CLayla.H *** 103