SuperpoweredSDK  v2.0.2
Superpowered Audio SDK
Superpowered::Reverb Class Reference

CPU-friendly reverb. More...

#include "SuperpoweredReverb.h"

Inheritance diagram for Superpowered::Reverb:
Collaboration diagram for Superpowered::Reverb:

Public Member Functions

 Reverb (unsigned int samplerate, unsigned int maximumSamplerate=96000)
 Constructor. More...
 
 ~Reverb ()
 
bool process (float *input, float *output, unsigned int numberOfFrames)
 Processes the audio. More...
 

Public Attributes

float damp
 High frequency damping. >= 0 and <= 1. More...
 
float dry
 Set dry independently from wet. Don't use the mix property in this case. >= 0 and <= 1. More...
 
bool enabled = false
 Turns the effect on/off. The actual switch will happen on the next process() call for smooth, audio-artifact free operation. More...
 
float lowCutHz
 Frequency of the low cut in Hz (-12 db point). Default: 0 (no low frequency cut). More...
 
float mix
 Sets dry and wet simultaneously with a nice constant power curve. Don't change dry and wet in this case. >= 0 and <= 1. More...
 
float predelayMs
 Pre-delay in milliseconds. 0 to 500. More...
 
float roomSize
 Room size. >= 0 and <= 1. More...
 
unsigned int samplerate = 0
 Sample rate in Hz. More...
 
float wet
 Set wet independently from dry. Don't use the mix property in this case. >= 0 and <= 1. More...
 
float width
 Stereo width. >= 0 and <= 1. More...
 

Private Member Functions

 Reverb (const Reverb &)
 
Reverboperator= (const Reverb &)
 

Private Attributes

reverbInternals * internals
 

Detailed Description

CPU-friendly reverb.

One instance allocates around 120 kb memory.

Constructor & Destructor Documentation

◆ Reverb() [1/2]

Superpowered::Reverb::Reverb ( unsigned int  samplerate,
unsigned int  maximumSamplerate = 96000 
)

Constructor.

Enabled is false by default.

Parameters
samplerateThe initial sample rate in Hz.
maximumSamplerateMaximum sample rate (affects memory usage, the lower the smaller).

◆ ~Reverb()

Superpowered::Reverb::~Reverb ( )

◆ Reverb() [2/2]

Superpowered::Reverb::Reverb ( const Reverb )
private

Member Function Documentation

◆ operator=()

Reverb& Superpowered::Reverb::operator= ( const Reverb )
private

◆ process()

bool Superpowered::Reverb::process ( float *  input,
float *  output,
unsigned int  numberOfFrames 
)
virtual

Processes the audio.

Always call it in the audio processing callback, regardless if the effect is enabled or not for smooth, audio-artifact free operation. It's never blocking for real-time usage. You can change all properties on any thread, concurrently with process().

Returns
If process() returns with true, the contents of output are replaced with the audio output. If process() returns with false, the contents of output are not changed.
Parameters
inputPointer to floating point numbers. 32-bit interleaved stereo input. Can point to the same location with output (in-place processing). Special case: input can be NULL, the effect will output the tail only in this case.
outputPointer to floating point numbers. 32-bit interleaved stereo output.
numberOfFramesNumber of frames to process. Recommendation for best performance: multiply of 4, minimum 64.

Implements Superpowered::FX.

Member Data Documentation

◆ damp

float Superpowered::Reverb::damp

High frequency damping. >= 0 and <= 1.

◆ dry

float Superpowered::Reverb::dry

Set dry independently from wet. Don't use the mix property in this case. >= 0 and <= 1.

◆ enabled

bool Superpowered::FX::enabled = false
inherited

Turns the effect on/off. The actual switch will happen on the next process() call for smooth, audio-artifact free operation.

◆ internals

reverbInternals* Superpowered::Reverb::internals
private

◆ lowCutHz

float Superpowered::Reverb::lowCutHz

Frequency of the low cut in Hz (-12 db point). Default: 0 (no low frequency cut).

◆ mix

float Superpowered::Reverb::mix

Sets dry and wet simultaneously with a nice constant power curve. Don't change dry and wet in this case. >= 0 and <= 1.

◆ predelayMs

float Superpowered::Reverb::predelayMs

Pre-delay in milliseconds. 0 to 500.

◆ roomSize

float Superpowered::Reverb::roomSize

Room size. >= 0 and <= 1.

◆ samplerate

unsigned int Superpowered::FX::samplerate = 0
inherited

Sample rate in Hz.

◆ wet

float Superpowered::Reverb::wet

Set wet independently from dry. Don't use the mix property in this case. >= 0 and <= 1.

◆ width

float Superpowered::Reverb::width

Stereo width. >= 0 and <= 1.


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