80 lines
2 KiB
C
80 lines
2 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1997-2000 Microsoft Corporation All Rights Reserved
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
hw.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
Declaration of MSVAD HW class.
|
||
|
MSVAD HW has an array for storing mixer and volume settings
|
||
|
for the topology.
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#ifndef _MSVAD_HW_H_
|
||
|
#define _MSVAD_HW_H_
|
||
|
|
||
|
//=============================================================================
|
||
|
// Defines
|
||
|
//=============================================================================
|
||
|
// BUGBUG we should dynamically allocate this...
|
||
|
#define MAX_TOPOLOGY_NODES 20
|
||
|
|
||
|
//=============================================================================
|
||
|
// Classes
|
||
|
//=============================================================================
|
||
|
///////////////////////////////////////////////////////////////////////////////
|
||
|
// CMSVADHW
|
||
|
// This class represents virtual MSVAD HW. An array representing volume
|
||
|
// registers and mute registers.
|
||
|
|
||
|
class CMSVADHW
|
||
|
{
|
||
|
public:
|
||
|
protected:
|
||
|
BOOL m_MuteControls[MAX_TOPOLOGY_NODES];
|
||
|
LONG m_VolumeControls[MAX_TOPOLOGY_NODES];
|
||
|
ULONG m_ulMux; // Mux selection
|
||
|
|
||
|
private:
|
||
|
|
||
|
public:
|
||
|
CMSVADHW();
|
||
|
|
||
|
void MixerReset();
|
||
|
BOOL GetMixerMute
|
||
|
(
|
||
|
IN ULONG ulNode
|
||
|
);
|
||
|
void SetMixerMute
|
||
|
(
|
||
|
IN ULONG ulNode,
|
||
|
IN BOOL fMute
|
||
|
);
|
||
|
ULONG GetMixerMux();
|
||
|
void SetMixerMux
|
||
|
(
|
||
|
IN ULONG ulNode
|
||
|
);
|
||
|
LONG GetMixerVolume
|
||
|
(
|
||
|
IN ULONG ulNode,
|
||
|
IN LONG lChannel
|
||
|
);
|
||
|
void SetMixerVolume
|
||
|
(
|
||
|
IN ULONG ulNode,
|
||
|
IN LONG lChannel,
|
||
|
IN LONG lVolume
|
||
|
);
|
||
|
|
||
|
protected:
|
||
|
private:
|
||
|
};
|
||
|
typedef CMSVADHW *PCMSVADHW;
|
||
|
|
||
|
#endif
|