1 // ****************************************************************************
5 // Include file for interfacing with the CGina generic driver class
6 // Set editor tabs to 3 for your viewing pleasure.
8 // ----------------------------------------------------------------------------
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
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.
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.
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
29 // ****************************************************************************
31 // Prevent problems with multiple includes
35 #include "CEchoGals.h"
36 #include "CGinaDspCommObject.h"
39 // Class used for interfacing with the Gina audio card.
41 class CGina
: public CEchoGals
45 // Construction/destruction
47 CGina( PCOsSupport pOsSupport
);
52 // Setup & initialization methods
55 virtual ECHOSTATUS
InitHw();
58 // Adapter information methods
60 virtual ECHOSTATUS GetCapabilities
62 PECHOGALS_CAPS pCapabilities
66 // Get a bitmask of all the clocks the hardware is currently detecting
68 virtual ECHOSTATUS
GetInputClockDetect(DWORD
&dwClockDetectBits
);
71 // Audio Interface methods
73 virtual ECHOSTATUS QueryAudioSampleRate
78 virtual void QuerySampleRateRange(DWORD
&dwMinRate
,DWORD
&dwMaxRate
);
81 // Overload new & delete so memory for this object is allocated from non-paged memory.
83 PVOID
operator new( size_t Size
);
84 VOID
operator delete( PVOID pVoid
);
88 // Get access to the appropriate DSP comm object
90 PCGinaDspCommObject
GetDspCommObject()
91 { return( (PCGinaDspCommObject
) m_pDspCommObject
); }
94 typedef CGina
* PCGina
;