1 // **************************************************************************** 2 // 3 // CIndigo.H 4 // 5 // Include file for interfacing with the CIndigo 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 _INDIGO_OBJECT_ 33 #define _INDIGO_OBJECT_ 34 35 #include "CEchoGalsVmixer.h" 36 #include "CIndigoDspCommObject.h" 37 38 // 39 // Class used for interfacing with the Indigo Cardbus adapter 40 // 41 class CIndigo : public CEchoGalsVmixer 42 { 43 public: 44 // 45 // Construction/destruction 46 // 47 CIndigo( PCOsSupport pOsSupport ); 48 49 virtual ~CIndigo(); 50 51 // 52 // Setup & initialization methods 53 // 54 55 virtual ECHOSTATUS InitHw(); 56 57 // 58 // Adapter information methods 59 // 60 61 // 62 // Return the capabilities of this card; card type, card name, 63 // # analog inputs, # analog outputs, # digital channels, 64 // # MIDI ports and supported clocks. 65 // See ECHOGALS_CAPS definition above. 66 // 67 virtual ECHOSTATUS GetCapabilities 68 ( 69 PECHOGALS_CAPS pCapabilities 70 ); 71 72 // 73 // Ask if a given sample rate is supported 74 // 75 virtual ECHOSTATUS QueryAudioSampleRate 76 ( 77 DWORD dwSampleRate 78 ); 79 80 virtual void QuerySampleRateRange(DWORD &dwMinRate,DWORD &dwMaxRate); 81 82 // 83 // Overload new & delete so memory for this object is allocated from 84 // non-paged memory. 85 // 86 PVOID operator new( size_t Size ); 87 VOID operator delete( PVOID pVoid ); 88 89 protected: 90 // 91 // Get access to the appropriate DSP comm object 92 // 93 PCIndigoDspCommObject GetDspCommObject() 94 { return( (PCIndigoDspCommObject) m_pDspCommObject ); } 95 96 // 97 // No monitors for Indigo Prime, so override this function 98 // 99 virtual ECHOSTATUS AdjustMonitorsForBusOut(WORD wBusOut); 100 101 }; // class CIndigo 102 103 typedef CIndigo * PCIndigo; 104 105 #endif 106 107 // *** CIndigo.H *** 108