hl2_src-leak-2017/src/engine/audio/private/voice_mixer_controls.h

48 lines
1.2 KiB
C++

//========= 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