SDRAngel
4.11.5
Developer docs for <a href="https://github.com/f4exb/sdrangel">SDRangel<\a>, an Open Source Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend to various hardware.
|
#include <audiocompressorsnd.h>
Classes | |
struct | CompressorState |
Public Member Functions | |
AudioCompressorSnd () | |
~AudioCompressorSnd () | |
void | initDefault (int rate) |
void | initSimple (int rate, float pregain, float threshold, float knee, float ratio, float attack, float release) |
void | initState () |
float | compress (float sample) |
Public Attributes | |
float | m_rate |
float | m_pregain |
float | m_threshold |
float | m_knee |
float | m_ratio |
float | m_attack |
float | m_release |
float | m_predelay |
float | m_releasezone1 |
float | m_releasezone2 |
float | m_releasezone3 |
float | m_releasezone4 |
float | m_postgain |
float | m_wet |
Static Private Member Functions | |
static float | db2lin (float db) |
static float | lin2db (float lin) |
static float | kneecurve (float x, float k, float linearthreshold) |
static float | kneeslope (float x, float k, float linearthreshold) |
static float | compcurve (float x, float k, float slope, float linearthreshold, float linearthresholdknee, float threshold, float knee, float kneedboffset) |
static float | adaptivereleasecurve (float x, float a, float b, float c, float d) |
static float | clampf (float v, float min, float max) |
static float | absf (float v) |
static float | fixf (float v, float def) |
static void | sf_compressor_process (CompressorState *state, int size, float *input, float *output) |
Private Attributes | |
CompressorState | m_compressorState |
float | m_storageBuffer [AUDIOCOMPRESSORSND_SF_COMPRESSOR_CHUNKSIZE] |
float | m_processedBuffer [AUDIOCOMPRESSORSND_SF_COMPRESSOR_CHUNKSIZE] |
int | m_sampleIndex |
Definition at line 46 of file audiocompressorsnd.h.
AudioCompressorSnd::AudioCompressorSnd | ( | ) |
Definition at line 29 of file audiocompressorsnd.cpp.
References AUDIOCOMPRESSORSND_SF_COMPRESSOR_CHUNKSIZE, m_processedBuffer, and m_sampleIndex.
AudioCompressorSnd::~AudioCompressorSnd | ( | ) |
Definition at line 35 of file audiocompressorsnd.cpp.
|
inlinestaticprivate |
Definition at line 158 of file audiocompressorsnd.h.
Referenced by sf_compressor_process().
|
inlinestaticprivate |
Definition at line 148 of file audiocompressorsnd.h.
Referenced by sf_compressor_process().
|
inlinestaticprivate |
Definition at line 154 of file audiocompressorsnd.h.
References leansdr::max().
Referenced by sf_compressor_process().
|
inlinestaticprivate |
Definition at line 135 of file audiocompressorsnd.h.
Referenced by AudioCompressorSnd::CompressorState::sf_advancecomp(), and sf_compressor_process().
float AudioCompressorSnd::compress | ( | float | sample | ) |
Definition at line 58 of file audiocompressorsnd.cpp.
References AUDIOCOMPRESSORSND_SF_COMPRESSOR_CHUNKSIZE, m_compressorState, m_processedBuffer, m_sampleIndex, m_storageBuffer, and sf_compressor_process().
Referenced by SSBMod::pullAF().
|
inlinestaticprivate |
Definition at line 117 of file audiocompressorsnd.h.
Referenced by AudioCompressorSnd::CompressorState::sf_advancecomp(), and sf_compressor_process().
|
inlinestaticprivate |
Definition at line 162 of file audiocompressorsnd.h.
Referenced by sf_compressor_process().
|
inline |
Definition at line 52 of file audiocompressorsnd.h.
|
inline |
Definition at line 71 of file audiocompressorsnd.h.
Referenced by SSBMod::SSBMod().
void AudioCompressorSnd::initState | ( | ) |
Definition at line 38 of file audiocompressorsnd.cpp.
References m_attack, m_compressorState, m_knee, m_postgain, m_predelay, m_pregain, m_rate, m_ratio, m_release, m_releasezone1, m_releasezone2, m_releasezone3, m_releasezone4, m_threshold, m_wet, and AudioCompressorSnd::CompressorState::sf_advancecomp().
Referenced by SSBMod::applyAudioSampleRate().
|
inlinestaticprivate |
Definition at line 127 of file audiocompressorsnd.h.
Referenced by AudioCompressorSnd::CompressorState::sf_advancecomp().
|
inlinestaticprivate |
Definition at line 131 of file audiocompressorsnd.h.
Referenced by AudioCompressorSnd::CompressorState::sf_advancecomp().
|
inlinestaticprivate |
Definition at line 121 of file audiocompressorsnd.h.
Referenced by AudioCompressorSnd::CompressorState::sf_advancecomp(), and sf_compressor_process().
|
staticprivate |
Definition at line 188 of file audiocompressorsnd.cpp.
References AudioCompressorSnd::CompressorState::a, absf(), adaptivereleasecurve(), AudioCompressorSnd::CompressorState::attacksamplesinv, AUDIOCOMPRESSORSND_SF_COMPRESSOR_SPACINGDB, AUDIOCOMPRESSORSND_SF_COMPRESSOR_SPU, AudioCompressorSnd::CompressorState::b, AudioCompressorSnd::CompressorState::c, clampf(), compcurve(), AudioCompressorSnd::CompressorState::compgain, AudioCompressorSnd::CompressorState::d, db2lin(), AudioCompressorSnd::CompressorState::delaybuf, AudioCompressorSnd::CompressorState::delaybufsize, AudioCompressorSnd::CompressorState::delayreadpos, AudioCompressorSnd::CompressorState::delaywritepos, AudioCompressorSnd::CompressorState::detectoravg, AudioCompressorSnd::CompressorState::dry, fixf(), AudioCompressorSnd::CompressorState::k, AudioCompressorSnd::CompressorState::knee, AudioCompressorSnd::CompressorState::kneedboffset, lin2db(), AudioCompressorSnd::CompressorState::linearpregain, AudioCompressorSnd::CompressorState::linearthreshold, AudioCompressorSnd::CompressorState::linearthresholdknee, M_PI, AudioCompressorSnd::CompressorState::mastergain, AudioCompressorSnd::CompressorState::maxcompdiffdb, AudioCompressorSnd::CompressorState::metergain, AudioCompressorSnd::CompressorState::meterrelease, AudioCompressorSnd::CompressorState::satreleasesamplesinv, AudioCompressorSnd::CompressorState::slope, AudioCompressorSnd::CompressorState::threshold, and AudioCompressorSnd::CompressorState::wet.
Referenced by compress().
float AudioCompressorSnd::m_attack |
Definition at line 106 of file audiocompressorsnd.h.
Referenced by initState().
|
private |
Definition at line 221 of file audiocompressorsnd.h.
Referenced by compress(), and initState().
float AudioCompressorSnd::m_knee |
Definition at line 104 of file audiocompressorsnd.h.
Referenced by initState().
float AudioCompressorSnd::m_postgain |
Definition at line 113 of file audiocompressorsnd.h.
Referenced by initState().
float AudioCompressorSnd::m_predelay |
Definition at line 108 of file audiocompressorsnd.h.
Referenced by initState().
float AudioCompressorSnd::m_pregain |
Definition at line 102 of file audiocompressorsnd.h.
Referenced by initState().
|
private |
Definition at line 223 of file audiocompressorsnd.h.
Referenced by AudioCompressorSnd(), and compress().
float AudioCompressorSnd::m_rate |
Definition at line 101 of file audiocompressorsnd.h.
Referenced by SSBMod::applyAudioSampleRate(), and initState().
float AudioCompressorSnd::m_ratio |
Definition at line 105 of file audiocompressorsnd.h.
Referenced by initState().
float AudioCompressorSnd::m_release |
Definition at line 107 of file audiocompressorsnd.h.
Referenced by initState().
float AudioCompressorSnd::m_releasezone1 |
Definition at line 109 of file audiocompressorsnd.h.
Referenced by initState().
float AudioCompressorSnd::m_releasezone2 |
Definition at line 110 of file audiocompressorsnd.h.
Referenced by initState().
float AudioCompressorSnd::m_releasezone3 |
Definition at line 111 of file audiocompressorsnd.h.
Referenced by initState().
float AudioCompressorSnd::m_releasezone4 |
Definition at line 112 of file audiocompressorsnd.h.
Referenced by initState().
|
private |
Definition at line 224 of file audiocompressorsnd.h.
Referenced by AudioCompressorSnd(), and compress().
|
private |
Definition at line 222 of file audiocompressorsnd.h.
Referenced by compress().
float AudioCompressorSnd::m_threshold |
Definition at line 103 of file audiocompressorsnd.h.
Referenced by initState().
float AudioCompressorSnd::m_wet |
Definition at line 114 of file audiocompressorsnd.h.
Referenced by initState().