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 Namespace Reference

Namespaces

 DelayLineInterpolationTypes
 A collection of structs to pass as the template argument when setting the interpolation type for the DelayLine class.
 
 FIR
 Classes for FIR filter processing.
 
 IIR
 Classes for IIR filter processing.
 
 SIMDInternal
 A template specialisation to find corresponding mask type for primitives.
 
 StateVariableFilter
 Classes for state variable filter processing.
 
 util
 

Classes

class  AudioBlock
 Minimal and lightweight data-structure which contains a list of pointers to channels containing some kind of sample data. More...
 
class  BallisticsFilter
 A processor to apply standard attack / release ballistics to an input signal. More...
 
class  Bias
 Adds a DC offset (voltage bias) to the audio samples. More...
 
class  Chorus
 A simple chorus DSP widget that modulates the delay of a delay line in order to create sweeping notches in the magnitude frequency response. More...
 
class  Compressor
 A simple compressor with standard threshold, ratio, attack time and release time controls. More...
 
class  Convolution
 Performs stereo partitioned convolution of an input signal with an impulse response in the frequency domain, using the JUCE FFT class. More...
 
class  ConvolutionMessageQueue
 Used by the Convolution to dispatch engine-update messages on a background thread. More...
 
class  DelayLine
 A delay line processor featuring several algorithms for the fractional delay calculation, block processing, and sample-by-sample processing useful when modulating the delay in real time or creating a standard delay effect with feedback. More...
 
class  DryWetMixer
 A processor to handle dry/wet mixing of two audio signals, where the wet signal may have additional latency. More...
 
struct  FastMathApproximations
 This class contains various fast mathematical function approximations. More...
 
class  FFT
 Performs a fast fourier transform. More...
 
struct  FilterDesign
 This class provides a set of functions which generates FIR::Coefficients and IIR::Coefficients, of high-order low-pass filters. More...
 
class  FirstOrderTPTFilter
 A first order filter class using the TPT (Topology-Preserving Transform) structure. More...
 
class  FixedSizeFunction< len, Ret(Args...)>
 A type similar to std::function that holds a callable object. More...
 
class  Gain
 Applies a gain to audio samples as single samples or AudioBlocks. More...
 
class  LadderFilter
 Multi-mode filter based on the Moog ladder filter. More...
 
class  Limiter
 A simple limiter with standard threshold and release time controls, featuring two compressors and a hard clipper at 0 dB. More...
 
class  LinkwitzRileyFilter
 A filter class designed to perform multi-band separation using the TPT (Topology-Preserving Transform) structure. More...
 
class  LogRampedValue
 Utility class for logarithmically smoothed linear values. More...
 
class  LookupTable
 Class for efficiently approximating expensive arithmetic operations. More...
 
class  LookupTableTransform
 Class for approximating expensive arithmetic operations. More...
 
class  Matrix
 General matrix and vectors class, meant for classic math manipulation such as additions, multiplications, and linear systems of equations solving. More...
 
class  NoiseGate
 A simple noise gate with standard threshold, ratio, attack time and release time controls. More...
 
class  Oscillator
 Generates a signal based on a user-supplied function. More...
 
class  Oversampling
 A processor that performs multi-channel oversampling. More...
 
class  Panner
 A processor to perform panning operations on stereo buffers. More...
 
struct  Phase
 Represents an increasing phase value between 0 and 2*pi. More...
 
class  Phaser
 A 6 stage phaser that modulates first order all-pass filters to create sweeping notches in the magnitude frequency response. More...
 
class  Polynomial
 A class representing a polynomial. More...
 
struct  ProcessContextNonReplacing
 Contains context information that is passed into an algorithm's process method. More...
 
struct  ProcessContextReplacing
 Contains context information that is passed into an algorithm's process method. More...
 
struct  ProcessorBase
 Acts as a polymorphic base class for processors. More...
 
class  ProcessorChain
 This variadically-templated class lets you join together any number of processor classes into a single processor which will call process() on them all in sequence. More...
 
struct  ProcessorDuplicator
 Converts a mono processor class into a multi-channel version by duplicating it and applying multichannel buffers across an array of instances. More...
 
struct  ProcessorState
 This is a handy base class for the state of a processor (such as parameter values) which is typically shared among several processors. More...
 
struct  ProcessorWrapper
 Wraps an instance of a given processor class, and exposes it through the ProcessorBase interface. More...
 
struct  ProcessSpec
 This structure is passed into a DSP algorithm's prepare() method, and contains information about various aspects of the context in which it can expect to be called. More...
 
class  Reverb
 Processor wrapper around juce::Reverb for easy integration into ProcessorChain. More...
 
struct  SIMDFallbackOps
 Useful fallback routines to use if the native SIMD op is not supported. More...
 
struct  SIMDRegister
 A wrapper around the platform's native SIMD register type. More...
 
struct  SpecialFunctions
 Contains miscellaneous filter design and windowing functions. More...
 
class  StateVariableTPTFilter
 An IIR filter that can perform low, band and high-pass filtering on an audio signal, with 12 dB of attenuation per octave, using a TPT structure, designed for fast modulation (see Vadim Zavalishin's documentation about TPT structures for more information). More...
 
struct  WaveShaper
 Applies waveshaping to audio samples as single samples or AudioBlocks. More...
 
class  WindowingFunction
 A class which provides multiple windowing functions useful for filter design and spectrum analyzers. More...
 

Typedefs

template<typename Type >
using Complex = std::complex< Type >
 

Enumerations

enum  BallisticsFilterLevelCalculationType {
  BallisticsFilterLevelCalculationType::peak,
  BallisticsFilterLevelCalculationType::RMS
}
 
enum  DryWetMixingRule {
  DryWetMixingRule::linear,
  DryWetMixingRule::balanced,
  DryWetMixingRule::sin3dB,
  DryWetMixingRule::sin4p5dB,
  DryWetMixingRule::sin6dB,
  DryWetMixingRule::squareRoot3dB,
  DryWetMixingRule::squareRoot4p5dB
}
 
enum  FirstOrderTPTFilterType {
  FirstOrderTPTFilterType::lowpass,
  FirstOrderTPTFilterType::highpass,
  FirstOrderTPTFilterType::allpass
}
 
enum  LadderFilterMode {
  LadderFilterMode::LPF12,
  LadderFilterMode::HPF12,
  LadderFilterMode::BPF12,
  LadderFilterMode::LPF24,
  LadderFilterMode::HPF24,
  LadderFilterMode::BPF24
}
 
enum  LinkwitzRileyFilterType {
  LinkwitzRileyFilterType::lowpass,
  LinkwitzRileyFilterType::highpass,
  LinkwitzRileyFilterType::allpass
}
 
enum  PannerRule {
  PannerRule::linear,
  PannerRule::balanced,
  PannerRule::sin3dB,
  PannerRule::sin4p5dB,
  PannerRule::sin6dB,
  PannerRule::squareRoot3dB,
  PannerRule::squareRoot4p5dB
}
 
enum  StateVariableTPTFilterType {
  StateVariableTPTFilterType::lowpass,
  StateVariableTPTFilterType::bandpass,
  StateVariableTPTFilterType::highpass
}
 

Functions

template<typename Functor >
static WaveShaper< typename std::result_of< Functor >, Functor > CreateWaveShaper (Functor functionToUse)
 
template<int Index, typename... Processors>
auto & get (const ProcessorChain< Processors... > &chain) noexcept
 Non-member equivalent of ProcessorChain::get which avoids awkward member template syntax. More...
 
template<int Index, typename... Processors>
auto & get (ProcessorChain< Processors... > &chain) noexcept
 Non-member equivalent of ProcessorChain::get which avoids awkward member template syntax. More...
 
template<int Index, typename... Processors>
bool isBypassed (const ProcessorChain< Processors... > &chain) noexcept
 Non-member equivalent of ProcessorChain::isBypassed which avoids awkward member template syntax. More...
 
template<size_t len, typename T >
bool operator!= (const FixedSizeFunction< len, T > &fn, std::nullptr_t)
 
constexpr bool operator!= (const ProcessSpec &a, const ProcessSpec &b)
 
template<size_t len, typename T >
bool operator!= (std::nullptr_t, const FixedSizeFunction< len, T > &fn)
 
template<size_t len, typename T >
bool operator== (const FixedSizeFunction< len, T > &fn, std::nullptr_t)
 
constexpr bool operator== (const ProcessSpec &a, const ProcessSpec &b)
 
template<size_t len, typename T >
bool operator== (std::nullptr_t, const FixedSizeFunction< len, T > &fn)
 
template<int Index, typename... Processors>
void setBypassed (ProcessorChain< Processors... > &chain, bool bypassed) noexcept
 Non-member equivalent of ProcessorChain::setBypassed which avoids awkward member template syntax. More...
 

Typedef Documentation

◆ Complex

template<typename Type >
using juce::dsp::Complex = typedef std::complex<Type>

Enumeration Type Documentation

◆ BallisticsFilterLevelCalculationType

Enumerator
peak 
RMS 

◆ DryWetMixingRule

Enumerator
linear 
balanced 
sin3dB 
sin4p5dB 
sin6dB 
squareRoot3dB 
squareRoot4p5dB 

◆ FirstOrderTPTFilterType

Enumerator
lowpass 
highpass 
allpass 

◆ LadderFilterMode

Enumerator
LPF12 
HPF12 
BPF12 
LPF24 
HPF24 
BPF24 

◆ LinkwitzRileyFilterType

Enumerator
lowpass 
highpass 
allpass 

◆ PannerRule

enum juce::dsp::PannerRule
strong
Enumerator
linear 
balanced 
sin3dB 
sin4p5dB 
sin6dB 
squareRoot3dB 
squareRoot4p5dB 

◆ StateVariableTPTFilterType

Enumerator
lowpass 
bandpass 
highpass 

Function Documentation

◆ CreateWaveShaper()

template<typename Functor >
static WaveShaper<typename std::result_of<Functor>, Functor> juce::dsp::CreateWaveShaper ( Functor  functionToUse)
static

◆ get() [1/2]

template<int Index, typename... Processors>
auto& juce::dsp::get ( const ProcessorChain< Processors... > &  chain)
inlinenoexcept

Non-member equivalent of ProcessorChain::get which avoids awkward member template syntax.

◆ get() [2/2]

◆ isBypassed()

template<int Index, typename... Processors>
bool juce::dsp::isBypassed ( const ProcessorChain< Processors... > &  chain)
inlinenoexcept

Non-member equivalent of ProcessorChain::isBypassed which avoids awkward member template syntax.

Referenced by juce::dsp::StateVariableFilter::Filter< SampleType >::processLoop().

◆ operator!=() [1/3]

template<size_t len, typename T >
bool juce::dsp::operator!= ( const FixedSizeFunction< len, T > &  fn,
std::nullptr_t   
)

◆ operator!=() [2/3]

constexpr bool juce::dsp::operator!= ( const ProcessSpec a,
const ProcessSpec b 
)
constexpr

References juce::gl::a, and juce::gl::b.

◆ operator!=() [3/3]

template<size_t len, typename T >
bool juce::dsp::operator!= ( std::nullptr_t  ,
const FixedSizeFunction< len, T > &  fn 
)

◆ operator==() [1/3]

template<size_t len, typename T >
bool juce::dsp::operator== ( const FixedSizeFunction< len, T > &  fn,
std::nullptr_t   
)

◆ operator==() [2/3]

constexpr bool juce::dsp::operator== ( const ProcessSpec a,
const ProcessSpec b 
)
constexpr

References juce::gl::a, and juce::gl::b.

◆ operator==() [3/3]

template<size_t len, typename T >
bool juce::dsp::operator== ( std::nullptr_t  ,
const FixedSizeFunction< len, T > &  fn 
)

◆ setBypassed()

template<int Index, typename... Processors>
void juce::dsp::setBypassed ( ProcessorChain< Processors... > &  chain,
bool  bypassed 
)
inlinenoexcept

Non-member equivalent of ProcessorChain::setBypassed which avoids awkward member template syntax.