HephAudio v3.1.0
A cross-platform C++ library for recording, playing, and processing audio on Windows, Android, Linux, iOS, and macOS.
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Chorus.h
Go to the documentation of this file.
1#pragma once
2#include "HephAudioShared.h"
3#include "Flanger.h"
4
7namespace HephAudio
8{
15 class HEPH_API Chorus : public Flanger
16 {
17 protected:
21 double extent;
22
23 public:
26
32 Chorus(double depth, double constantDelay, double variableDelay, double extent, const Oscillator& lfo);
33
35 virtual ~Chorus() = default;
36
37 virtual std::string Name() const override;
38 virtual size_t CalculateRequiredFrameCount(size_t outputFrameCount, const AudioFormatInfo& formatInfo) const override;
39
44 virtual double GetExtent() const;
45
52 virtual void SetExtent(double extent);
53
54 protected:
55 virtual void ProcessST(const AudioBuffer& inputBuffer, AudioBuffer& outputBuffer, size_t startIndex, size_t frameCount) override;
56 virtual size_t CalculatePastSamplesSize(const AudioBuffer& inputBuffer) const override;
57 };
58}
#define HEPH_API
Definition HephShared.h:124
class for storing the audio samples in internal format.
Definition AudioBuffer.h:16
delays the audio data and changes its pitch periodically. Then mixes the result with the input signal...
Definition Chorus.h:16
virtual std::string Name() const override
virtual void SetExtent(double extent)
virtual size_t CalculatePastSamplesSize(const AudioBuffer &inputBuffer) const override
virtual size_t CalculateRequiredFrameCount(size_t outputFrameCount, const AudioFormatInfo &formatInfo) const override
virtual ~Chorus()=default
virtual double GetExtent() const
double extent
Definition Chorus.h:21
Chorus(double depth, double constantDelay, double variableDelay, double extent, const Oscillator &lfo)
virtual void ProcessST(const AudioBuffer &inputBuffer, AudioBuffer &outputBuffer, size_t startIndex, size_t frameCount) override
delays the audio data and mixes the result with the input signal. The amount of delay applied changes...
Definition Flanger.h:14
base class for oscillators.
Definition Oscillator.h:16
stores the properties of the audio signals
Definition AudioFormatInfo.h:20