diff options
Diffstat (limited to 'engine/audio/private/voice_mixer_controls.h')
| -rw-r--r-- | engine/audio/private/voice_mixer_controls.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/engine/audio/private/voice_mixer_controls.h b/engine/audio/private/voice_mixer_controls.h new file mode 100644 index 0000000..295ac88 --- /dev/null +++ b/engine/audio/private/voice_mixer_controls.h @@ -0,0 +1,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 |