HephAudio v3.1.0
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:
17 using DoubleBufferedAudioEffect::Process;
18
19 protected:
24
30 double depth;
31
35 size_t lfoIndex;
36
37 protected:
40
48 ModulationEffect(double depth, const Oscillator& lfo);
49
50 public:
52 virtual ~ModulationEffect() = default;
53
54 virtual void ResetInternalState() override;
55 virtual void Process(AudioBuffer& buffer, size_t startIndex, size_t frameCount) override;
56
62 virtual void SetOscillator(const Oscillator& lfo);
63
68 virtual double GetDepth() const;
69
75 virtual void SetDepth(double depth);
76 };
77}
#define HEPH_API
Definition HephShared.h:124
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
base class for effects that use LFOs.
Definition ModulationEffect.h:15
double depth
Definition ModulationEffect.h:30
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
virtual void ResetInternalState() override
ModulationEffect(double depth, const Oscillator &lfo)
virtual void SetDepth(double depth)
size_t lfoIndex
Definition ModulationEffect.h:35
base class for oscillators.
Definition Oscillator.h:16
buffer for storing doubles.
Definition DoubleBuffer.h:14