arduino-audio-tools
Loading...
Searching...
No Matches
Classes | Namespaces | Macros
AudioEffects.h File Reference
#include "AudioToolsConfig.h"
#include "AudioTools/CoreAudio/AudioBasic/Collections.h"
#include "AudioTools/CoreAudio/AudioStreams.h"
#include "SoundGenerator.h"
#include "AudioEffect.h"

Go to the source code of this file.

Classes

class  AudioEffectCommon
 
class  AudioEffects< GeneratorT >
 OBSOLETE AudioEffects: the template class describes the input audio to which the effects are applied: e.g. SineGenerator, SquareWaveGenerator, GeneratorFromStream etc. We support only one channel of int16_t data! More...
 
class  AudioEffectStream
 EffectsStream supporting variable bits_per_sample. This class is only available when __cplusplus >= 201703L. Otherwise AudioEffectStream results in using AudioEffectStream = AudioEffectStreamT<effect_t>;. More...
 
class  AudioEffectStreamT< T >
 EffectsStreamT: the template class describes an input or output stream to which one or multiple effects are applied. Each channel is processed by its own independent clone of the effect chain (created via AudioEffect::clone()), so e.g. a stereo signal keeps its channel separation and effects that carry internal state (Delay's ring buffer, ADSRGain/Tremolo's envelope or oscillator phase, etc.) don't get confused by interleaved samples from different channels. addEffect() adds to a shared template chain that is cloned into every channel on begin() (and immediately cloned into all already-active channels if called afterwards); use addEffect(channel, effect) to register an effect directly on just one channel instead. Note that size()/operator[]/findEffect() operate on the template chain, not on the per-channel clones: mutating a pointer obtained from them after begin() has already cloned it does not retroactively change already-cloned per-channel copies. Currently only int16_t values are supported, so I recommend to use the AudioEffectStream class which is defined as using AudioEffectStream = AudioEffectStreamT<effect_t>;. More...
 

Namespaces

namespace  audio_tools
 Generic Implementation of sound input and output for desktop environments using portaudio.
 

Macros

#define USE_VARIANTS   (__cplusplus >= 201703L)
 

Macro Definition Documentation

◆ USE_VARIANTS

#define USE_VARIANTS   (__cplusplus >= 201703L)