blob: cdfe4f7588f6c676ab9b2bcec1bba47f46b1cab0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
/*++
Copyright (c) Microsoft Corporation All Rights Reserved
Module Name:
hw.h
Abstract:
Declaration of SYSVAD HW class.
SYSVAD HW has an array for storing mixer and volume settings
for the topology.
--*/
#ifndef _SYSVAD_HW_H_
#define _SYSVAD_HW_H_
//=============================================================================
// Defines
//=============================================================================
// BUGBUG we should dynamically allocate this...
#define MAX_TOPOLOGY_NODES 20
//=============================================================================
// Classes
//=============================================================================
///////////////////////////////////////////////////////////////////////////////
// CSYSVADHW
// This class represents virtual SYSVAD HW. An array representing volume
// registers and mute registers.
class CSYSVADHW
{
public:
protected:
BOOL m_MuteControls[MAX_TOPOLOGY_NODES];
LONG m_VolumeControls[MAX_TOPOLOGY_NODES];
LONG m_PeakMeterControls[MAX_TOPOLOGY_NODES];
ULONG m_ulMux; // Mux selection
BOOL m_bDevSpecific;
INT m_iDevSpecific;
UINT m_uiDevSpecific;
private:
public:
CSYSVADHW();
void MixerReset();
BOOL bGetDevSpecific();
void bSetDevSpecific
(
_In_ BOOL bDevSpecific
);
INT iGetDevSpecific();
void iSetDevSpecific
(
_In_ INT iDevSpecific
);
UINT uiGetDevSpecific();
void uiSetDevSpecific
(
_In_ UINT uiDevSpecific
);
BOOL GetMixerMute
(
_In_ ULONG ulNode,
_In_ ULONG ulChannel
);
void SetMixerMute
(
_In_ ULONG ulNode,
_In_ ULONG ulChannel,
_In_ BOOL fMute
);
ULONG GetMixerMux();
void SetMixerMux
(
_In_ ULONG ulNode
);
LONG GetMixerVolume
(
_In_ ULONG ulNode,
_In_ ULONG ulChannel
);
void SetMixerVolume
(
_In_ ULONG ulNode,
_In_ ULONG ulChannel,
_In_ LONG lVolume
);
LONG GetMixerPeakMeter
(
_In_ ULONG ulNode,
_In_ ULONG ulChannel
);
protected:
private:
};
typedef CSYSVADHW *PCSYSVADHW;
#endif // _SYSVAD_HW_H_
|