Audacity 3.2.0
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
EqualizationBase::Task Struct Reference

#include <EqualizationBase.h>

Collaboration diagram for EqualizationBase::Task:
[legend]

Public Member Functions

 Task (size_t M, size_t idealBlockLen, WaveChannel &channel)
 
void AccumulateSamples (constSamplePtr buffer, size_t len)
 

Public Attributes

Floats window1 { windowSize }
 
Floats window2 { windowSize }
 
Floats buffer
 
const size_t idealBlockLen
 
float * thisWindow { window1.get() }
 
float * lastWindow { window2.get() }
 
WaveChanneloutput
 
size_t leftTailRemaining
 

Static Public Attributes

static constexpr auto windowSize = EqualizationFilter::windowSize
 

Detailed Description

Definition at line 53 of file EqualizationBase.h.

Constructor & Destructor Documentation

◆ Task()

EqualizationBase::Task::Task ( size_t  M,
size_t  idealBlockLen,
WaveChannel channel 
)
inline

Definition at line 55 of file EqualizationBase.h.

58 , output { channel }
59 , leftTailRemaining { (M - 1) / 2 }
60 {
61 memset(lastWindow, 0, windowSize * sizeof(float));
62 }
static constexpr auto windowSize

Member Function Documentation

◆ AccumulateSamples()

void EqualizationBase::Task::AccumulateSamples ( constSamplePtr  buffer,
size_t  len 
)
inline

Definition at line 64 of file EqualizationBase.h.

65 {
66 auto leftTail = std::min(len, leftTailRemaining);
67 leftTailRemaining -= leftTail;
68 len -= leftTail;
69 buffer += leftTail * sizeof(float);
71 }
int min(int a, int b)
bool Append(constSamplePtr buffer, sampleFormat format, size_t len)
Definition: WaveTrack.cpp:2237

References floatSample, and min().

Referenced by EqualizationBase::ProcessOne().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ buffer

Floats EqualizationBase::Task::buffer

Definition at line 77 of file EqualizationBase.h.

Referenced by EqualizationBase::ProcessOne().

◆ idealBlockLen

const size_t EqualizationBase::Task::idealBlockLen

Definition at line 78 of file EqualizationBase.h.

Referenced by EqualizationBase::ProcessOne().

◆ lastWindow

float* EqualizationBase::Task::lastWindow { window2.get() }

Definition at line 82 of file EqualizationBase.h.

Referenced by EqualizationBase::ProcessOne().

◆ leftTailRemaining

size_t EqualizationBase::Task::leftTailRemaining

Definition at line 88 of file EqualizationBase.h.

◆ output

WaveChannel& EqualizationBase::Task::output

Definition at line 86 of file EqualizationBase.h.

Referenced by EqualizationBase::ProcessOne().

◆ thisWindow

float* EqualizationBase::Task::thisWindow { window1.get() }

Definition at line 81 of file EqualizationBase.h.

Referenced by EqualizationBase::ProcessOne().

◆ window1

Floats EqualizationBase::Task::window1 { windowSize }

Definition at line 74 of file EqualizationBase.h.

Referenced by EqualizationBase::ProcessOne().

◆ window2

Floats EqualizationBase::Task::window2 { windowSize }

Definition at line 75 of file EqualizationBase.h.

Referenced by EqualizationBase::ProcessOne().

◆ windowSize

constexpr auto EqualizationBase::Task::windowSize = EqualizationFilter::windowSize
staticconstexpr

Definition at line 73 of file EqualizationBase.h.


The documentation for this struct was generated from the following file: