| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- #pragma once
- #include <JuceHeader.h>
- #include "CMLSEqualizer.h"
- #include "CMLSDistortion.h"
- //==============================================================================
- class CMLSProjectAudioProcessor : public juce::AudioProcessor
- {
- public:
- //==============================================================================
- CMLSProjectAudioProcessor();
- ~CMLSProjectAudioProcessor() override;
- //==============================================================================
- void prepareToPlay(double sampleRate, int samplesPerBlock) override;
- void releaseResources() override;
- #ifndef JucePlugin_PreferredChannelConfigurations
- bool isBusesLayoutSupported(const BusesLayout& layouts) const override;
- #endif
- void processBlock(juce::AudioBuffer<float>&, juce::MidiBuffer&) override;
- //==============================================================================
- juce::AudioProcessorEditor* createEditor() override;
- bool hasEditor() const override;
- //==============================================================================
- const juce::String getName() const override;
- bool acceptsMidi() const override;
- bool producesMidi() const override;
- bool isMidiEffect() const override;
- double getTailLengthSeconds() const override;
- //==============================================================================
- int getNumPrograms() override;
- int getCurrentProgram() override;
- void setCurrentProgram(int index) override;
- const juce::String getProgramName(int index) override;
- void changeProgramName(int index, const juce::String& newName) override;
- //==============================================================================
- void getStateInformation(juce::MemoryBlock& destData) override;
- void setStateInformation(const void* data, int sizeInBytes) override;
- //==============================================================================
- // parameter control functions
- void setEqLowGain(float value);
- void setEqHighGain(float value);
- void setDistortionDrive(float value);
- void setDistortionMix(float value);
- private:
- //==============================================================================
-
- juce::OSCReceiver oscReceiver; // OSC message receiver
- juce::dsp::ProcessorChain<CMLSEqualizer, CMLSDistortion> processorChain;
- JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(CMLSProjectAudioProcessor)
- };
|