aboutsummaryrefslogtreecommitdiff
path: root/src/DSP/AllPassFilter.h
blob: 78342fca540500ff2cb3634a619dda176116db96 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#pragma once

#include <juce_audio_processors/juce_audio_processors.h>

class AllPassFilter
{
  public:
    void prepare(double sampleRate, int samplesPerBlock, int delayInSamples, float gain);
    void reset();
    void process(float& sample);

  private:
    std::vector<float> delayBuffer;
    int delayBufferWritePos = 0;
    int delayInSamples = 0;
    float gain = 0.7f;
};