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

Bpm/beat based loop roll effect. More...

#include "SuperpoweredRoll.h"

Inheritance diagram for Superpowered::Roll:
Collaboration diagram for Superpowered::Roll:

Public Member Functions

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

Public Attributes

float beats
 Limit: 1/64 beats to 4 beats. (>= 0.015625 and <= 4.0). More...
 
float bpm
 Limited to >= 40 and <= 250. 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...
 
unsigned int samplerate = 0
 Sample rate in Hz. More...
 
float wet
 Limited to >= 0 and <= 1. More...
 

Private Member Functions

 Roll (const Roll &)
 
Rolloperator= (const Roll &)
 

Private Attributes

rollInternals * internals
 

Detailed Description

Bpm/beat based loop roll effect.

One instance allocates around 1600 kb memory.

Constructor & Destructor Documentation

◆ Roll() [1/2]

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

Constructor.

Enabled is false by default.

Parameters
samplerateThe initial sample rate in Hz.
maximumSamplerateThe maximum sample rate in Hz to support. The higher the larger the memory usage.

◆ ~Roll()

Superpowered::Roll::~Roll ( )

◆ Roll() [2/2]

Superpowered::Roll::Roll ( const Roll )
private

Member Function Documentation

◆ operator=()

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

◆ process()

bool Superpowered::Roll::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.
outputPointer to floating point numbers. 32-bit interleaved stereo output. Can point to the same location with input (in-place processing).
numberOfFramesNumber of frames to process. Recommendations for best performance: minimum 64.

Implements Superpowered::FX.

Member Data Documentation

◆ beats

float Superpowered::Roll::beats

Limit: 1/64 beats to 4 beats. (>= 0.015625 and <= 4.0).

◆ bpm

float Superpowered::Roll::bpm

Limited to >= 40 and <= 250.

◆ 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

rollInternals* Superpowered::Roll::internals
private

◆ samplerate

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

Sample rate in Hz.

◆ wet

float Superpowered::Roll::wet

Limited to >= 0 and <= 1.


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