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, const 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 426 of file Equalization.cpp.

Constructor & Destructor Documentation

◆ EqualizationTask()

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

Definition at line 427 of file Equalization.cpp.

428 : buffer{ idealBlockLen }
429 , output{ t.EmptyCopy() }
430 , leftTailRemaining{ (M - 1) / 2 }
431 {
432 memset(lastWindow, 0, windowSize * sizeof(float));
433 }
Holder EmptyCopy(const SampleBlockFactoryPtr &pFactory={}, bool keepLink=true) const
Definition: WaveTrack.cpp:712

Member Function Documentation

◆ AccumulateSamples()

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

Definition at line 435 of file Equalization.cpp.

436 {
437 auto leftTail = std::min(len, leftTailRemaining);
438 leftTailRemaining -= leftTail;
439 len -= leftTail;
440 buffer += leftTail * sizeof(float);
441 output->Append(buffer, floatSample, len);
442 }
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 448 of file Equalization.cpp.

◆ lastWindow

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

Definition at line 452 of file Equalization.cpp.

◆ leftTailRemaining

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

Definition at line 458 of file Equalization.cpp.

◆ output

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

Definition at line 456 of file Equalization.cpp.

◆ thisWindow

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

Definition at line 451 of file Equalization.cpp.

◆ window1

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

Definition at line 445 of file Equalization.cpp.

◆ window2

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

Definition at line 446 of file Equalization.cpp.

◆ windowSize

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

Definition at line 444 of file Equalization.cpp.


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