HephAudio v3.0.6
A cross-platform C++ library for recording, playing, and processing audio on Windows, Android, Linux, iOS, and macOS.
Loading...
Searching...
No Matches
Flanger.h
Go to the documentation of this file.
1#pragma once
2#include "HephAudioShared.h"
3#include "ModulationEffect.h"
4
7namespace HephAudio
8{
14 {
15 public:
17
18 protected:
23
28
33
34 public:
37
45 Flanger(double depth, double constantDelay, double variableDelay, const Oscillator& lfo);
46
48 virtual ~Flanger() = default;
49
50 virtual std::string Name() const override;
51 virtual void Process(AudioBuffer& buffer, size_t startIndex, size_t frameCount) override;
52
57 virtual double GetConstantDelay() const;
58
64 virtual void SetConstantDelay(double constantDelay);
65
70 virtual double GetVariableDelay() const;
71
77 virtual void SetVariableDelay(double variableDelay);
78
79 protected:
80 virtual void ProcessST(const AudioBuffer& inputBuffer, AudioBuffer& outputBuffer, size_t startIndex, size_t frameCount) override;
81
88 virtual size_t CalculatePastSamplesSize(const AudioBuffer& inputBuffer) const;
89 };
90}
class for storing the audio samples in internal format.
Definition AudioBuffer.h:16
delays the audio data and mixes the result with the input signal. The amount of delay applied changes...
Definition Flanger.h:14
virtual double GetVariableDelay() const
virtual void ProcessST(const AudioBuffer &inputBuffer, AudioBuffer &outputBuffer, size_t startIndex, size_t frameCount) override
double variableDelay
Definition Flanger.h:32
virtual ~Flanger()=default
AudioBuffer pastSamples
Definition Flanger.h:22
Flanger(double depth, double constantDelay, double variableDelay, const Oscillator &lfo)
virtual std::string Name() const override
double constantDelay
Definition Flanger.h:27
virtual double GetConstantDelay() const
virtual void Process(AudioBuffer &buffer, size_t startIndex, size_t frameCount) override
virtual void SetConstantDelay(double constantDelay)
virtual void SetVariableDelay(double variableDelay)
virtual size_t CalculatePastSamplesSize(const AudioBuffer &inputBuffer) const
base class for effects that use LFOs.
Definition ModulationEffect.h:15
double depth
Definition ModulationEffect.h:35
virtual void Process(AudioBuffer &buffer, size_t startIndex, size_t frameCount) override
base class for oscillators.
Definition Oscillator.h:16