Audacity 3.2.0
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
EffectEqualization::Task Struct Reference
Collaboration diagram for EffectEqualization::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 366 of file Equalization.cpp.

Constructor & Destructor Documentation

◆ Task()

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

Definition at line 367 of file Equalization.cpp.

370 , output{ channel }
371 , leftTailRemaining{ (M - 1) / 2 }
372 {
373 memset(lastWindow, 0, windowSize * sizeof(float));
374 }
static constexpr auto windowSize

References lastWindow, and windowSize.

Member Function Documentation

◆ AccumulateSamples()

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

Definition at line 376 of file Equalization.cpp.

377 {
378 auto leftTail = std::min(len, leftTailRemaining);
379 leftTailRemaining -= leftTail;
380 len -= leftTail;
381 buffer += leftTail * sizeof(float);
383 }
int min(int a, int b)
bool Append(constSamplePtr buffer, sampleFormat format, size_t len)
Definition: WaveTrack.cpp:2216

References WaveChannel::Append(), buffer, floatSample, leftTailRemaining, min(), and output.

Referenced by EffectEqualization::ProcessOne().

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

Member Data Documentation

◆ buffer

Floats EffectEqualization::Task::buffer

Definition at line 389 of file Equalization.cpp.

Referenced by AccumulateSamples(), and EffectEqualization::ProcessOne().

◆ idealBlockLen

const size_t EffectEqualization::Task::idealBlockLen

Definition at line 390 of file Equalization.cpp.

Referenced by EffectEqualization::ProcessOne().

◆ lastWindow

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

Definition at line 394 of file Equalization.cpp.

Referenced by EffectEqualization::ProcessOne(), and Task().

◆ leftTailRemaining

size_t EffectEqualization::Task::leftTailRemaining

Definition at line 400 of file Equalization.cpp.

Referenced by AccumulateSamples().

◆ output

WaveChannel& EffectEqualization::Task::output

Definition at line 398 of file Equalization.cpp.

Referenced by AccumulateSamples(), and EffectEqualization::ProcessOne().

◆ thisWindow

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

Definition at line 393 of file Equalization.cpp.

Referenced by EffectEqualization::ProcessOne().

◆ window1

Floats EffectEqualization::Task::window1 { windowSize }

Definition at line 386 of file Equalization.cpp.

Referenced by EffectEqualization::ProcessOne().

◆ window2

Floats EffectEqualization::Task::window2 { windowSize }

Definition at line 387 of file Equalization.cpp.

Referenced by EffectEqualization::ProcessOne().

◆ windowSize

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

Definition at line 385 of file Equalization.cpp.

Referenced by Task().


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