20 void prepareToPlay(
double sampleRate,
int samplesPerBlock)
override;
21 void releaseResources()
override;
23 bool isBusesLayoutSupported(
const BusesLayout &layouts)
const override;
25 void processBlock(juce::AudioBuffer<float> &, juce::MidiBuffer &)
override;
26 using AudioProcessor::processBlock;
29 juce::AudioProcessorEditor *createEditor()
override;
30 bool hasEditor()
const override;
33 const juce::String getName()
const override;
35 bool acceptsMidi()
const override;
36 bool producesMidi()
const override;
37 bool isMidiEffect()
const override;
38 double getTailLengthSeconds()
const override;
41 int getNumPrograms()
override;
42 int getCurrentProgram()
override;
43 void setCurrentProgram(
int index)
override;
44 const juce::String getProgramName(
int index)
override;
45 void changeProgramName(
int index,
const juce::String &newName)
override;
48 void getStateInformation(juce::MemoryBlock &destData)
override;
49 void setStateInformation(
const void *data,
int sizeInBytes)
override;
51 juce::AudioProcessorValueTreeState::ParameterLayout createParameters();
52 juce::AudioProcessorValueTreeState mParameters;
53 std::unique_ptr<RingBuffer> mRingBuffer;
56 std::unique_ptr<juce::AudioBuffer<float>> mAudioBuffer;
57 std::unique_ptr<Amp> mBlackLoungeAmp;
58 juce::AudioParameterFloat *mVolumeParameter;
59 juce::AudioParameterFloat *mGainParameter;
63 juce::AudioParameterFloat *mDenoiserParameter;
64 juce::AudioParameterBool *mDenoiserActiveParameter;