mirror of
https://github.com/nillerusr/source-engine.git
synced 2024-12-23 06:36:54 +00:00
48 lines
1.2 KiB
C++
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
|