1 // **************************************************************************** 2 // 3 // CIndigoIO.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 // ---------------------------------------------------------------------------- 11 // 12 // Copyright Echo Digital Audio Corporation (c) 1998 - 2004 13 // All rights reserved 14 // www.echoaudio.com 15 // 16 // This file is part of Echo Digital Audio's generic driver library. 17 // 18 // Echo Digital Audio's generic driver library is free software; 19 // you can redistribute it and/or modify it under the terms of 20 // the GNU General Public License as published by the Free Software Foundation. 21 // 22 // This program is distributed in the hope that it will be useful, 23 // but WITHOUT ANY WARRANTY; without even the implied warranty of 24 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 // GNU General Public License for more details. 26 // 27 // You should have received a copy of the GNU General Public License 28 // along with this program; if not, write to the Free Software 29 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, 30 // MA 02111-1307, USA. 31 // 32 // **************************************************************************** 33 34 // Prevent problems with multiple includes 35 #ifndef _INDIGOIO_OBJECT_ 36 #define _INDIGOIO_OBJECT_ 37 38 #include "CEchoGalsVmixer.h" 39 #include "CIndigoIODspCommObject.h" 40 41 // 42 // Class used for interfacing with the Indigo IO Cardbus adapter 43 // 44 class CIndigoIO : public CEchoGalsVmixer 45 { 46 public: 47 // 48 // Construction/destruction 49 // 50 CIndigoIO( PCOsSupport pOsSupport ); 51 52 virtual ~CIndigoIO(); 53 54 // 55 // Setup & initialization methods 56 // 57 virtual ECHOSTATUS InitHw(); 58 59 // 60 // Adapter information methods 61 // 62 63 // 64 // Return the capabilities of this card; card type, card name, 65 // # analog inputs, # analog outputs, # digital channels, 66 // # MIDI ports and supported clocks. 67 // See ECHOGALS_CAPS definition above. 68 // 69 virtual ECHOSTATUS GetCapabilities 70 ( 71 PECHOGALS_CAPS pCapabilities 72 ); 73 74 // 75 // Ask if a given sample rate is supported 76 // 77 virtual ECHOSTATUS QueryAudioSampleRate 78 ( 79 DWORD dwSampleRate 80 ); 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 // 90 // Get the hardware audio latency 91 // 92 virtual void GetAudioLatency(ECHO_AUDIO_LATENCY *pLatency); 93 94 protected: 95 // 96 // Get access to the appropriate DSP comm object 97 // 98 PCIndigoIODspCommObject GetDspCommObject() 99 { return( (PCIndigoIODspCommObject) m_pDspCommObject ); } 100 }; // class IndigoIO 101 102 typedef CIndigoIO * PCIndigoIO; 103 104 #endif 105 106 // *** CIndigoIO.H *** 107