1*3895766dSshatty // **************************************************************************** 2*3895766dSshatty // 3*3895766dSshatty // CGina.H 4*3895766dSshatty // 5*3895766dSshatty // Include file for interfacing with the CGina generic driver class 6*3895766dSshatty // Set editor tabs to 3 for your viewing pleasure. 7*3895766dSshatty // 8*3895766dSshatty // ---------------------------------------------------------------------------- 9*3895766dSshatty // 10*3895766dSshatty // Copyright Echo Digital Audio Corporation (c) 1998 - 2002 11*3895766dSshatty // All rights reserved 12*3895766dSshatty // www.echoaudio.com 13*3895766dSshatty // 14*3895766dSshatty // Permission is hereby granted, free of charge, to any person obtaining a 15*3895766dSshatty // copy of this software and associated documentation files (the 16*3895766dSshatty // "Software"), to deal with the Software without restriction, including 17*3895766dSshatty // without limitation the rights to use, copy, modify, merge, publish, 18*3895766dSshatty // distribute, sublicense, and/or sell copies of the Software, and to 19*3895766dSshatty // permit persons to whom the Software is furnished to do so, subject to 20*3895766dSshatty // the following conditions: 21*3895766dSshatty // 22*3895766dSshatty // - Redistributions of source code must retain the above copyright 23*3895766dSshatty // notice, this list of conditions and the following disclaimers. 24*3895766dSshatty // 25*3895766dSshatty // - Redistributions in binary form must reproduce the above copyright 26*3895766dSshatty // notice, this list of conditions and the following disclaimers in the 27*3895766dSshatty // documentation and/or other materials provided with the distribution. 28*3895766dSshatty // 29*3895766dSshatty // - Neither the name of Echo Digital Audio, nor the names of its 30*3895766dSshatty // contributors may be used to endorse or promote products derived from 31*3895766dSshatty // this Software without specific prior written permission. 32*3895766dSshatty // 33*3895766dSshatty // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 34*3895766dSshatty // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 35*3895766dSshatty // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 36*3895766dSshatty // IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR 37*3895766dSshatty // ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 38*3895766dSshatty // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 39*3895766dSshatty // SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE SOFTWARE. 40*3895766dSshatty // 41*3895766dSshatty // **************************************************************************** 42*3895766dSshatty 43*3895766dSshatty // Prevent problems with multiple includes 44*3895766dSshatty #ifndef _GINAOBJECT_ 45*3895766dSshatty #define _GINAOBJECT_ 46*3895766dSshatty 47*3895766dSshatty #include "CEchoGals.h" 48*3895766dSshatty #include "CGinaDspCommObject.h" 49*3895766dSshatty 50*3895766dSshatty // 51*3895766dSshatty // Class used for interfacing with the Gina audio card. 52*3895766dSshatty // 53*3895766dSshatty class CGina : public CEchoGals 54*3895766dSshatty { 55*3895766dSshatty public: 56*3895766dSshatty // 57*3895766dSshatty // Construction/destruction 58*3895766dSshatty // 59*3895766dSshatty CGina( PCOsSupport pOsSupport ); 60*3895766dSshatty 61*3895766dSshatty virtual ~CGina(); 62*3895766dSshatty 63*3895766dSshatty // 64*3895766dSshatty // Setup & initialization methods 65*3895766dSshatty // 66*3895766dSshatty 67*3895766dSshatty virtual ECHOSTATUS InitHw(); 68*3895766dSshatty 69*3895766dSshatty // 70*3895766dSshatty // Adapter information methods 71*3895766dSshatty // 72*3895766dSshatty virtual ECHOSTATUS GetCapabilities 73*3895766dSshatty ( 74*3895766dSshatty PECHOGALS_CAPS pCapabilities 75*3895766dSshatty ); 76*3895766dSshatty 77*3895766dSshatty // 78*3895766dSshatty // Get a bitmask of all the clocks the hardware is currently detecting 79*3895766dSshatty // 80*3895766dSshatty virtual ECHOSTATUS GetInputClockDetect(DWORD &dwClockDetectBits); 81*3895766dSshatty 82*3895766dSshatty // 83*3895766dSshatty // Audio Interface methods 84*3895766dSshatty // 85*3895766dSshatty virtual ECHOSTATUS QueryAudioSampleRate 86*3895766dSshatty ( 87*3895766dSshatty DWORD dwSampleRate 88*3895766dSshatty ); 89*3895766dSshatty 90*3895766dSshatty // 91*3895766dSshatty // Overload new & delete so memory for this object is allocated from non-paged memory. 92*3895766dSshatty // 93*3895766dSshatty PVOID operator new( size_t Size ); 94*3895766dSshatty VOID operator delete( PVOID pVoid ); 95*3895766dSshatty 96*3895766dSshatty protected: 97*3895766dSshatty // 98*3895766dSshatty // Get access to the appropriate DSP comm object 99*3895766dSshatty // 100*3895766dSshatty PCGinaDspCommObject GetDspCommObject() 101*3895766dSshatty { return( (PCGinaDspCommObject) m_pDspCommObject ); } 102*3895766dSshatty }; // class CGina 103*3895766dSshatty 104*3895766dSshatty typedef CGina * PCGina; 105*3895766dSshatty 106*3895766dSshatty #endif 107*3895766dSshatty 108*3895766dSshatty // *** CGina.H *** 109