LMMS
Loading...
Searching...
No Matches
juce::dsp::WindowingFunction< FloatType > Class Template Reference

#include <juce_Windowing.h>

Public Types

enum  WindowingMethod {
  rectangular = 0 , triangular , hann , hamming ,
  blackman , blackmanHarris , flatTop , kaiser ,
  numWindowingMethods
}

Public Member Functions

 WindowingFunction (size_t size, WindowingMethod, bool normalise=true, FloatType beta=0)
void fillWindowingTables (size_t size, WindowingMethod type, bool normalise=true, FloatType beta=0) noexcept
void multiplyWithWindowingTable (FloatType *samples, size_t size) noexcept

Static Public Member Functions

static void fillWindowingTables (FloatType *samples, size_t size, WindowingMethod, bool normalise=true, FloatType beta=0) noexcept
static const char * getWindowingMethodName (WindowingMethod) noexcept

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 type,
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>
void juce::dsp::WindowingFunction< FloatType >::fillWindowingTables ( FloatType * samples,
size_t size,
WindowingMethod type,
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>
const char * juce::dsp::WindowingFunction< FloatType >::getWindowingMethodName ( WindowingMethod type)
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 files: