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