blob: 295ac889f916ba8c3fc3c35d6ae3b6701130cd98 (
plain) (
blame)
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
|
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================//
#ifndef MIXER_CONTROLS_H
#define MIXER_CONTROLS_H
#pragma once
abstract_class IMixerControls
{
public:
virtual ~IMixerControls() {}
enum Control
{
// Microphone boost is a boolean switch that sound cards support which boosts the input signal by about +20dB.
// If this isn't on, the mic is usually way too quiet.
MicBoost=0,
// Volume values are 0-1.
MicVolume,
// Mic playback muting. You usually want this set to false, otherwise the sound card echoes whatever you say into the mic.
MicMute,
NumControls
};
virtual bool GetValue_Float(Control iControl, float &value) = 0;
virtual bool SetValue_Float(Control iControl, float value) = 0;
// Apps like RealJukebox will switch the waveIn input to use CD audio
// rather than the microphone. This should be called at startup to set it back.
virtual bool SelectMicrophoneForWaveInput() = 0;
};
extern IMixerControls *g_pMixerControls;
// Allocates a set of mixer controls.
void InitMixerControls();
void ShutdownMixerControls();
#endif // MIXER_CONTROLS_H
|