You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.2 KiB
47 lines
1.2 KiB
//========= 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
|
|
|