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

Mixes up to 4 mono inputs. Every input and the output has individual gain control. One instance allocates just a few bytes of memory, therefore combining multiple instances of the MonoMixer is the recommended way to support more than 4 channels. More...

#include "SuperpoweredMixer.h"

Public Member Functions

 MonoMixer ()
 Constructor. More...
 
 ~MonoMixer ()
 
void process (float *input0, float *input1, float *input2, float *input3, float *output, unsigned int numberOfFrames)
 Mixes up to 4 mono inputs into a mono output. More...
 

Public Attributes

float inputGain [4]
 Gain per input channel. Default value for all: 1. Changes between consecutive process() calls are automatically smoothed. More...
 
float outputGain
 Gain for the output. Default value: 1. Changes between consecutive process() calls are automatically smoothed. More...
 

Private Member Functions

 MonoMixer (const MonoMixer &)
 
MonoMixeroperator= (const MonoMixer &)
 

Private Attributes

monoMixerInternals * internals
 

Detailed Description

Mixes up to 4 mono inputs. Every input and the output has individual gain control. One instance allocates just a few bytes of memory, therefore combining multiple instances of the MonoMixer is the recommended way to support more than 4 channels.

Constructor & Destructor Documentation

◆ MonoMixer() [1/2]

Superpowered::MonoMixer::MonoMixer ( )

Constructor.

◆ ~MonoMixer()

Superpowered::MonoMixer::~MonoMixer ( )

◆ MonoMixer() [2/2]

Superpowered::MonoMixer::MonoMixer ( const MonoMixer )
private

Member Function Documentation

◆ operator=()

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

◆ process()

void Superpowered::MonoMixer::process ( float *  input0,
float *  input1,
float *  input2,
float *  input3,
float *  output,
unsigned int  numberOfFrames 
)

Mixes up to 4 mono inputs into a mono output.

Parameters
input0Pointer to floating point numbers. 32-bit input buffer for the first input. Can be NULL.
input1Pointer to floating point numbers. 32-bit input buffer for the second input. Can be NULL.
input2Pointer to floating point numbers. 32-bit input buffer for the third input. Can be NULL.
input3Pointer to floating point numbers. 32-bit input buffer for the fourth input. Can be NULL.
outputPointer to floating point numbers. 32-bit output buffer.
numberOfFramesNumber of frames to process. Must be a multiple of 4.

Member Data Documentation

◆ inputGain

float Superpowered::MonoMixer::inputGain[4]

Gain per input channel. Default value for all: 1. Changes between consecutive process() calls are automatically smoothed.

◆ internals

monoMixerInternals* Superpowered::MonoMixer::internals
private

◆ outputGain

float Superpowered::MonoMixer::outputGain

Gain for the output. Default value: 1. Changes between consecutive process() calls are automatically smoothed.


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