1 // **************************************************************************** 2 // 3 // CMiaDspCommObject.H 4 // 5 // Include file for EchoGals generic driver Mia DSP interface class. 6 // 7 // ---------------------------------------------------------------------------- 8 // 9 // Copyright Echo Digital Audio Corporation (c) 1998 - 2002 10 // All rights reserved 11 // www.echoaudio.com 12 // 13 // Permission is hereby granted, free of charge, to any person obtaining a 14 // copy of this software and associated documentation files (the 15 // "Software"), to deal with the Software without restriction, including 16 // without limitation the rights to use, copy, modify, merge, publish, 17 // distribute, sublicense, and/or sell copies of the Software, and to 18 // permit persons to whom the Software is furnished to do so, subject to 19 // the following conditions: 20 // 21 // - Redistributions of source code must retain the above copyright 22 // notice, this list of conditions and the following disclaimers. 23 // 24 // - Redistributions in binary form must reproduce the above copyright 25 // notice, this list of conditions and the following disclaimers in the 26 // documentation and/or other materials provided with the distribution. 27 // 28 // - Neither the name of Echo Digital Audio, nor the names of its 29 // contributors may be used to endorse or promote products derived from 30 // this Software without specific prior written permission. 31 // 32 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 33 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 34 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 35 // IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR 36 // ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 37 // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 38 // SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE SOFTWARE. 39 // 40 // **************************************************************************** 41 42 #ifndef _MIADSPCOMMOBJECT_ 43 #define _MIADSPCOMMOBJECT_ 44 45 #include "CDspCommObject.h" 46 47 class CMiaDspCommObject : public CDspCommObject 48 { 49 public: 50 // 51 // Construction/destruction 52 // 53 CMiaDspCommObject( PDWORD pdwRegBase, PCOsSupport pOsSupport ); 54 virtual ~CMiaDspCommObject(); 55 56 // 57 // Set the DSP sample rate. 58 // Return rate that was set, -1 if error 59 // 60 virtual DWORD SetSampleRate( DWORD dwNewSampleRate ); 61 // 62 // Send current setting to DSP & return what it is 63 // 64 virtual DWORD SetSampleRate() 65 { return( SetSampleRate( GetSampleRate() ) ); } 66 67 // 68 // Card information 69 // 70 virtual WORD GetCardType() 71 { return( MIA ); } 72 73 // 74 // Set input clock 75 // 76 virtual ECHOSTATUS SetInputClock(WORD wClock); 77 78 virtual ECHOSTATUS GetAudioMeters 79 ( 80 PECHOGALS_METERS pMeters 81 ); 82 83 virtual ECHOSTATUS SetPipeOutGain 84 ( 85 WORD wPipeOut, 86 WORD wBusOut, 87 int iGain, 88 BOOL fImmediate = TRUE 89 ); 90 91 virtual ECHOSTATUS GetPipeOutGain 92 ( 93 WORD wPipeOut, 94 WORD wBusOut, 95 int &iGain 96 ); 97 98 virtual ECHOSTATUS UpdateVmixerLevel(); 99 100 virtual ECHOSTATUS SetBusOutGain(WORD wBusOut,int iGain); 101 102 103 protected: 104 105 BOOL m_bProfessionalSpdif; // S/PDIF pro/consumer setting 106 107 }; // class CMiaDspCommObject 108 109 typedef CMiaDspCommObject * PCMiaDspCommObject; 110 111 #endif 112 113 // **** CMiaDspCommObject.h **** 114