blob: 3360c24acbc2c42884908284d5b60a360eddad1d (
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
|
/*++
Copyright (c) Microsoft Corporation All Rights Reserved
Module Name:
hw.h
Abstract:
Declaration of Simple Audio Sample HW class.
Simple Audio Sample HW has an array for storing mixer and volume settings
for the topology.
--*/
#ifndef _SIMPLEAUDIOSAMPLE_HW_H_
#define _SIMPLEAUDIOSAMPLE_HW_H_
//=============================================================================
// Defines
//=============================================================================
// BUGBUG we should dynamically allocate this...
#define MAX_TOPOLOGY_NODES 20
//=============================================================================
// Classes
//=============================================================================
///////////////////////////////////////////////////////////////////////////////
// CSimpleAudioSampleHW
// This class represents virtual Simple Audio Sample HW. An array representing volume
// registers and mute registers.
class CSimpleAudioSampleHW
{
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:
CSimpleAudioSampleHW();
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 CSimpleAudioSampleHW *PCSimpleAudioSampleHW;
#endif // _SIMPLEAUDIOSAMPLE_HW_H_
|