Audacity 3.2.0
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
anonymous_namespace{Equalization.cpp}::EqualizationTask Struct Reference
Collaboration diagram for anonymous_namespace{Equalization.cpp}::EqualizationTask:
[legend]

Public Member Functions

 EqualizationTask (size_t M, size_t idealBlockLen, WaveTrack &t)
 
void AccumulateSamples (constSamplePtr buffer, size_t len)
 

Public Attributes

Floats window1 { windowSize }
 
Floats window2 { windowSize }
 
Floats buffer
 
float * thisWindow { window1.get() }
 
float * lastWindow { window2.get() }
 
std::shared_ptr< WaveTrackoutput
 
size_t leftTailRemaining
 

Static Public Attributes

static constexpr auto windowSize = EqualizationFilter::windowSize
 

Detailed Description

Definition at line 414 of file Equalization.cpp.

Constructor & Destructor Documentation

◆ EqualizationTask()

anonymous_namespace{Equalization.cpp}::EqualizationTask::EqualizationTask ( size_t  M,
size_t  idealBlockLen,
WaveTrack t 
)
inline

Definition at line 415 of file Equalization.cpp.

416 : buffer{ idealBlockLen }
417 , output{ t.EmptyCopy() }
418 , leftTailRemaining{ (M - 1) / 2 }
419 {
420 memset(lastWindow, 0, windowSize * sizeof(float));
421 }
Holder EmptyCopy(const SampleBlockFactoryPtr &pFactory={}, bool keepLink=true) const
Definition: WaveTrack.cpp:574

Member Function Documentation

◆ AccumulateSamples()

void anonymous_namespace{Equalization.cpp}::EqualizationTask::AccumulateSamples ( constSamplePtr  buffer,
size_t  len 
)
inline

Definition at line 423 of file Equalization.cpp.

424 {
425 auto leftTail = std::min(len, leftTailRemaining);
426 leftTailRemaining -= leftTail;
427 len -= leftTail;
428 buffer += leftTail * sizeof(float);
429 output->Append(buffer, floatSample, len);
430 }
int min(int a, int b)

References floatSample, and min().

Here is the call graph for this function:

Member Data Documentation

◆ buffer

Floats anonymous_namespace{Equalization.cpp}::EqualizationTask::buffer

Definition at line 436 of file Equalization.cpp.

◆ lastWindow

float* anonymous_namespace{Equalization.cpp}::EqualizationTask::lastWindow { window2.get() }

Definition at line 440 of file Equalization.cpp.

◆ leftTailRemaining

size_t anonymous_namespace{Equalization.cpp}::EqualizationTask::leftTailRemaining

Definition at line 446 of file Equalization.cpp.

◆ output

std::shared_ptr<WaveTrack> anonymous_namespace{Equalization.cpp}::EqualizationTask::output

Definition at line 444 of file Equalization.cpp.

◆ thisWindow

float* anonymous_namespace{Equalization.cpp}::EqualizationTask::thisWindow { window1.get() }

Definition at line 439 of file Equalization.cpp.

◆ window1

Floats anonymous_namespace{Equalization.cpp}::EqualizationTask::window1 { windowSize }

Definition at line 433 of file Equalization.cpp.

◆ window2

Floats anonymous_namespace{Equalization.cpp}::EqualizationTask::window2 { windowSize }

Definition at line 434 of file Equalization.cpp.

◆ windowSize

constexpr auto anonymous_namespace{Equalization.cpp}::EqualizationTask::windowSize = EqualizationFilter::windowSize
staticconstexpr

Definition at line 432 of file Equalization.cpp.


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