| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- /*
- ==============================================================================
- This file contains the basic framework code for a JUCE plugin processor.
- ==============================================================================
- */
- #pragma once
- #include <JuceHeader.h>
- #include "CMLSReverb.h"
- #include "CMLSDelay.h"
- #include "CMLSChorus.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 controls
- void setChorusDryWet(float value);
- void setChorusAmount(float value);
- void setReverbDryWet(float value);
- void setReverbRoomSize(float value);
- void setDelayDryWet(float value);
- void setDelayAmount(float value);
- private:
- //==============================================================================
-
- // OSC message receiver
- juce::OSCReceiver oscReceiver;
- // Buffer for the incoming audio from the generators
- // Effects processing chain
- juce::dsp::ProcessorChain<CMLSChorus, CMLSReverb, CMLSDelay> processorChain;
- JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (CMLSProjectAudioProcessor)
- };
|