39 lines
716 B
C++
39 lines
716 B
C++
/*
|
|
* AGC.h
|
|
* -----
|
|
* Purpose: Automatic Gain Control
|
|
* Notes : Ugh... This should really be removed at some point.
|
|
* Authors: Olivier Lapicque
|
|
* OpenMPT Devs
|
|
* The OpenMPT source code is released under the BSD license. Read LICENSE for more details.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "openmpt/all/BuildSettings.hpp"
|
|
|
|
|
|
OPENMPT_NAMESPACE_BEGIN
|
|
|
|
|
|
#ifndef NO_AGC
|
|
|
|
class CAGC
|
|
{
|
|
private:
|
|
UINT m_nAGC;
|
|
std::size_t m_nAGCRecoverCount;
|
|
UINT m_Timeout;
|
|
public:
|
|
CAGC();
|
|
void Initialize(bool bReset, DWORD MixingFreq);
|
|
public:
|
|
void Process(int *MixSoundBuffer, int *RearSoundBuffer, std::size_t count, std::size_t nChannels);
|
|
void Adjust(UINT oldVol, UINT newVol);
|
|
};
|
|
|
|
#endif // NO_AGC
|
|
|
|
|
|
OPENMPT_NAMESPACE_END
|