xref: /haiku/src/add-ons/kernel/drivers/audio/echo/generic/CEchoGalsVmixer.h (revision 626bc4bee107897c38c596c3440cf0a74b4b9c40)
1 // ****************************************************************************
2 //
3 //		CEchoGalsVmixer.cpp
4 //
5 //		CEchoGalsMTC is used to add virtual output mixing to the base
6 //		CEchoGals class.
7 //
8 //		Set editor tabs to 3 for your viewing pleasure.
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 _CECHOGALSVMIXER_H_
33 #define _CECHOGALSVMIXER_H_
34 
35 #include "CEchoGals.h"
36 
37 class CEchoGalsVmixer : public CEchoGals
38 {
39 public:
40 	//
41 	//	Construction/destruction
42 	//
43 	CEchoGalsVmixer( PCOsSupport pOsSupport );
44 	virtual ~CEchoGalsVmixer();
45 
46 	//
47 	// Adjust all the output pipe levels for a particular output bus
48 	//
49 	virtual ECHOSTATUS AdjustPipesOutForBusOut(WORD wBusOut,INT32 iBusOutGain);
50 
51 protected:
52 	virtual ECHOSTATUS GetBaseCapabilities(PECHOGALS_CAPS pCapabilities);
53 
54 	//
55 	// Adjust all the monitor levels for a particular output bus; this is
56 	// used to implement the master output level.
57 	//
58 	virtual ECHOSTATUS AdjustMonitorsForBusOut(WORD wBusOut);
59 
60 };		// class CEchoGalsVmixer
61 
62 
63 #endif // _CECHOGALSVMIXER_H_
64 
65 // *** CEchoGalsVmixer.h ***
66