JUCE  v6.1.6 (6.0.8-1114)
JUCE API
Looking for a senior C++ dev?
I'm looking for work. Hire me!
juce::dsp::WindowingFunction< FloatType > Class Template Reference

A class which provides multiple windowing functions useful for filter design and spectrum analyzers. More...

#include <juce_Windowing.h>

Collaboration diagram for juce::dsp::WindowingFunction< FloatType >:

Public Types

enum  WindowingMethod {
  rectangular = 0,
  triangular,
  hann,
  hamming,
  blackman,
  blackmanHarris,
  flatTop,
  kaiser,
  numWindowingMethods
}
 The windowing methods available. More...
 

Public Member Functions

 WindowingFunction (size_t size, WindowingMethod, bool normalise=true, FloatType beta=0)
 This constructor automatically fills a buffer of the specified size using the fillWindowingTables function and the specified arguments. More...
 
void fillWindowingTables (size_t size, WindowingMethod type, bool normalise=true, FloatType beta=0) noexcept
 Fills the content of the object array with a given windowing method table. More...
 
void multiplyWithWindowingTable (FloatType *samples, size_t size) noexcept
 Multiplies the content of a buffer with the given window. More...
 

Static Public Member Functions

static void fillWindowingTables (FloatType *samples, size_t size, WindowingMethod, bool normalise=true, FloatType beta=0) noexcept
 Fills the content of an array with a given windowing method table. More...
 
static const char * getWindowingMethodName (WindowingMethod) noexcept
 Returns the name of a given windowing method. More...
 

Private Attributes

Array< FloatType > windowTable
 

Detailed Description

template<typename FloatType>
class juce::dsp::WindowingFunction< FloatType >

A class which provides multiple windowing functions useful for filter design and spectrum analyzers.

The different functions provided here can be used by creating either a WindowingFunction object, or a static function to fill an array with the windowing method samples.

@tags{DSP}

Member Enumeration Documentation

◆ WindowingMethod

template<typename FloatType >
enum juce::dsp::WindowingFunction::WindowingMethod

The windowing methods available.

Enumerator
rectangular 
triangular 
hann 
hamming 
blackman 
blackmanHarris 
flatTop 
kaiser 
numWindowingMethods 

Constructor & Destructor Documentation

◆ WindowingFunction()

template<typename FloatType >
juce::dsp::WindowingFunction< FloatType >::WindowingFunction ( size_t  size,
WindowingMethod  ,
bool  normalise = true,
FloatType  beta = 0 
)

This constructor automatically fills a buffer of the specified size using the fillWindowingTables function and the specified arguments.

See also
fillWindowingTables

Member Function Documentation

◆ fillWindowingTables() [1/2]

template<typename FloatType >
static void juce::dsp::WindowingFunction< FloatType >::fillWindowingTables ( FloatType *  samples,
size_t  size,
WindowingMethod  ,
bool  normalise = true,
FloatType  beta = 0 
)
staticnoexcept

Fills the content of an array with a given windowing method table.

Parameters
samplesthe destination buffer pointer
sizethe size of the destination buffer allocated in the object
normaliseif the result must be normalised, creating a DC amplitude response of one
betaan optional argument useful only for Kaiser's method, which must be positive and sets the properties of the method (bandwidth and attenuation increases with beta)

◆ fillWindowingTables() [2/2]

template<typename FloatType >
void juce::dsp::WindowingFunction< FloatType >::fillWindowingTables ( size_t  size,
WindowingMethod  type,
bool  normalise = true,
FloatType  beta = 0 
)
noexcept

Fills the content of the object array with a given windowing method table.

Parameters
sizethe size of the destination buffer allocated in the object
typethe type of windowing method being used
normaliseif the result must be normalised, creating a DC amplitude response of one
betaan optional argument useful only for Kaiser's method which must be positive and sets the properties of the method (bandwidth and attenuation increases with beta)

◆ getWindowingMethodName()

template<typename FloatType >
static const char* juce::dsp::WindowingFunction< FloatType >::getWindowingMethodName ( WindowingMethod  )
staticnoexcept

Returns the name of a given windowing method.

◆ multiplyWithWindowingTable()

template<typename FloatType >
void juce::dsp::WindowingFunction< FloatType >::multiplyWithWindowingTable ( FloatType *  samples,
size_t  size 
)
noexcept

Multiplies the content of a buffer with the given window.

Member Data Documentation

◆ windowTable

template<typename FloatType >
Array<FloatType> juce::dsp::WindowingFunction< FloatType >::windowTable
private

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