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
ModulationEffect.h
Go to the documentation of this file.
1#pragma once
2#include "HephAudioShared.h"
6
9namespace HephAudio
10{
15 {
16 public:
18
19 protected:
24
28 size_t lfoIndex;
29
35 double depth;
36
37 protected:
40
48 ModulationEffect(double depth, const Oscillator& lfo);
49
50 public:
52 virtual ~ModulationEffect() = default;
53
54 virtual void Process(AudioBuffer& buffer, size_t startIndex, size_t frameCount) override;
55
61 virtual void SetOscillator(const Oscillator& lfo);
62
67 virtual double GetDepth() const;
68
74 virtual void SetDepth(double depth);
75 };
76}
class for storing the audio samples in internal format.
Definition AudioBuffer.h:16
base class for audio effects that use a temporary buffer while processing.
Definition DoubleBufferedAudioEffect.h:13
virtual void Process(AudioBuffer &buffer, size_t startIndex, size_t frameCount) override
base class for effects that use LFOs.
Definition ModulationEffect.h:15
double depth
Definition ModulationEffect.h:35
virtual void SetOscillator(const Oscillator &lfo)
Heph::DoubleBuffer lfoBuffer
Definition ModulationEffect.h:23
virtual void Process(AudioBuffer &buffer, size_t startIndex, size_t frameCount) override
virtual double GetDepth() const
virtual ~ModulationEffect()=default
ModulationEffect(double depth, const Oscillator &lfo)
virtual void SetDepth(double depth)
size_t lfoIndex
Definition ModulationEffect.h:28
base class for oscillators.
Definition Oscillator.h:16
buffer for storing doubles.
Definition DoubleBuffer.h:14