xref: /haiku/src/add-ons/kernel/drivers/audio/echo/generic/CDspCommObjectVmixer.h (revision 626bc4bee107897c38c596c3440cf0a74b4b9c40)
1 // ****************************************************************************
2 //
3 //		CDspCommObjectVmixer.H
4 //
5 //		DSP comm object with vmixer support
6 //
7 // ----------------------------------------------------------------------------
8 //
9 // ----------------------------------------------------------------------------
10 //
11 // This file is part of Echo Digital Audio's generic driver library.
12 // Copyright Echo Digital Audio Corporation (c) 1998 - 2005
13 // All rights reserved
14 // www.echoaudio.com
15 //
16 // This library is free software; you can redistribute it and/or
17 // modify it under the terms of the GNU Lesser General Public
18 // License as published by the Free Software Foundation; either
19 // version 2.1 of the License, or (at your option) any later version.
20 //
21 // This library is distributed in the hope that it will be useful,
22 // but WITHOUT ANY WARRANTY; without even the implied warranty of
23 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
24 // Lesser General Public License for more details.
25 //
26 // You should have received a copy of the GNU Lesser General Public
27 // License along with this library; if not, write to the Free Software
28 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
29 //
30 // ****************************************************************************
31 
32 #ifndef	_DSPCOMMOBJECT_VMIXER_H_
33 #define	_DSPCOMMOBJECT_VMIXER_H_
34 
35 #include "CDspCommObject.h"
36 
37 class CDspCommObjectVmixer : public CDspCommObject
38 {
39 public:
40 	//
41 	//	Construction/destruction
42 	//
43 	CDspCommObjectVmixer( PDWORD pdwRegBase, PCOsSupport pOsSupport );
44 	virtual ~CDspCommObjectVmixer();
45 
46 	virtual ECHOSTATUS GetAudioMeters
47 	(
48 		PECHOGALS_METERS	pMeters
49 	);
50 
51 	virtual ECHOSTATUS SetPipeOutGain
52 	(
53 		WORD wPipeOut,
54 		WORD wBusOut,
55 		INT32 iGain,
56 		BOOL fImmediate = TRUE
57 	);
58 
59 	virtual ECHOSTATUS GetPipeOutGain
60 	(
61 		WORD wPipeOut,
62 		WORD wBusOut,
63 		INT32 &iGain
64 	);
65 
66 	virtual ECHOSTATUS UpdateVmixerLevel();
67 
68 	virtual ECHOSTATUS SetBusOutGain(WORD wBusOut,INT32 iGain);
69 
70 };		// class CDspCommObjectVmixer
71 
72 typedef CDspCommObjectVmixer * PCDspCommObjectVmixer;
73 
74 #endif // _DSPCOMMOBJECT_VMIXER_H_
75 
76 // **** CDspCommObjectVmixer.h ****
77