BPicture: Fix archive constructor.
[haiku.git] / src / add-ons / kernel / drivers / audio / echo / generic / CIndigoIO.h
blobe3c462337c5396b69fea877fb5bb92958d1b8531
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 // 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
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
32 #ifndef _INDIGOIO_OBJECT_
33 #define _INDIGOIO_OBJECT_
35 #include "CEchoGalsVmixer.h"
36 #include "CIndigoIODspCommObject.h"
39 // Class used for interfacing with the Indigo IO Cardbus adapter
41 class CIndigoIO : public CEchoGalsVmixer
43 public:
45 // Construction/destruction
47 CIndigoIO( PCOsSupport pOsSupport );
49 virtual ~CIndigoIO();
52 // Setup & initialization methods
54 virtual ECHOSTATUS InitHw();
57 // Adapter information methods
61 // Return the capabilities of this card; card type, card name,
62 // # analog inputs, # analog outputs, # digital channels,
63 // # MIDI ports and supported clocks.
64 // See ECHOGALS_CAPS definition above.
66 virtual ECHOSTATUS GetCapabilities
68 PECHOGALS_CAPS pCapabilities
72 // Ask if a given sample rate is supported
74 virtual ECHOSTATUS QueryAudioSampleRate
76 DWORD dwSampleRate
79 virtual void QuerySampleRateRange(DWORD &dwMinRate,DWORD &dwMaxRate);
82 // Overload new & delete so memory for this object is allocated from
83 // non-paged memory.
85 PVOID operator new( size_t Size );
86 VOID operator delete( PVOID pVoid );
89 // Get the hardware audio latency
91 virtual void GetAudioLatency(ECHO_AUDIO_LATENCY *pLatency);
93 protected:
95 // Get access to the appropriate DSP comm object
97 PCIndigoIODspCommObject GetDspCommObject()
98 { return( (PCIndigoIODspCommObject) m_pDspCommObject ); }
99 }; // class IndigoIO
101 typedef CIndigoIO * PCIndigoIO;
103 #endif
105 // *** CIndigoIO.H ***