diff options
Diffstat (limited to 'src/PluginProcessor.cpp')
| -rw-r--r-- | src/PluginProcessor.cpp | 140 |
1 files changed, 79 insertions, 61 deletions
diff --git a/src/PluginProcessor.cpp b/src/PluginProcessor.cpp index c1f4373..ec16ea9 100644 --- a/src/PluginProcessor.cpp +++ b/src/PluginProcessor.cpp @@ -3,131 +3,143 @@ //============================================================================== SchroederReverbAudioProcessor::SchroederReverbAudioProcessor() - : AudioProcessor (BusesProperties() - #if ! JucePlugin_IsMidiEffect - #if ! JucePlugin_IsSynth - .withInput ("Input", juce::AudioChannelSet::stereo(), true) - #endif - .withOutput ("Output", juce::AudioChannelSet::stereo(), true) - #endif - ) + : AudioProcessor(BusesProperties() +#if !JucePlugin_IsMidiEffect +#if !JucePlugin_IsSynth + .withInput("Input", juce::AudioChannelSet::stereo(), true) +#endif + .withOutput("Output", juce::AudioChannelSet::stereo(), true) +#endif + ) { } -SchroederReverbAudioProcessor::~SchroederReverbAudioProcessor() -{ -} +SchroederReverbAudioProcessor::~SchroederReverbAudioProcessor() {} //============================================================================== -const juce::String SchroederReverbAudioProcessor::getName() const +const juce::String +SchroederReverbAudioProcessor::getName() const { return JucePlugin_Name; } -bool SchroederReverbAudioProcessor::acceptsMidi() const +bool +SchroederReverbAudioProcessor::acceptsMidi() const { - #if JucePlugin_WantsMidiInput +#if JucePlugin_WantsMidiInput return true; - #else +#else return false; - #endif +#endif } -bool SchroederReverbAudioProcessor::producesMidi() const +bool +SchroederReverbAudioProcessor::producesMidi() const { - #if JucePlugin_ProducesMidiOutput +#if JucePlugin_ProducesMidiOutput return true; - #else +#else return false; - #endif +#endif } -bool SchroederReverbAudioProcessor::isMidiEffect() const +bool +SchroederReverbAudioProcessor::isMidiEffect() const { - #if JucePlugin_IsMidiEffect +#if JucePlugin_IsMidiEffect return true; - #else +#else return false; - #endif +#endif } -double SchroederReverbAudioProcessor::getTailLengthSeconds() const +double +SchroederReverbAudioProcessor::getTailLengthSeconds() const { return 0.0; } -int SchroederReverbAudioProcessor::getNumPrograms() +int +SchroederReverbAudioProcessor::getNumPrograms() { - return 1; // NB: some hosts don't cope very well if you tell them there are 0 programs, - // so this should be at least 1, even if you're not really implementing programs. + return 1; // NB: some hosts don't cope very well if you tell them there are 0 programs, + // so this should be at least 1, even if you're not really implementing programs. } -int SchroederReverbAudioProcessor::getCurrentProgram() +int +SchroederReverbAudioProcessor::getCurrentProgram() { return 0; } -void SchroederReverbAudioProcessor::setCurrentProgram (int index) +void +SchroederReverbAudioProcessor::setCurrentProgram(int index) { - juce::ignoreUnused (index); + juce::ignoreUnused(index); } -const juce::String SchroederReverbAudioProcessor::getProgramName (int index) +const juce::String +SchroederReverbAudioProcessor::getProgramName(int index) { - juce::ignoreUnused (index); + juce::ignoreUnused(index); return {}; } -void SchroederReverbAudioProcessor::changeProgramName (int index, const juce::String& newName) +void +SchroederReverbAudioProcessor::changeProgramName(int index, const juce::String& newName) { - juce::ignoreUnused (index, newName); + juce::ignoreUnused(index, newName); } //============================================================================== -void SchroederReverbAudioProcessor::prepareToPlay (double sampleRate, int samplesPerBlock) +void +SchroederReverbAudioProcessor::prepareToPlay(double sampleRate, int samplesPerBlock) { // Use this method as the place to do any pre-playback // initialisation that you need.. schroederReverb.prepare(sampleRate, samplesPerBlock); } -void SchroederReverbAudioProcessor::releaseResources() +void +SchroederReverbAudioProcessor::releaseResources() { // When playback stops, you can use this as an opportunity to free up any // spare memory, etc. } -bool SchroederReverbAudioProcessor::isBusesLayoutSupported (const BusesLayout& layouts) const +bool +SchroederReverbAudioProcessor::isBusesLayoutSupported(const BusesLayout& layouts) const { - #if JucePlugin_IsMidiEffect - juce::ignoreUnused (layouts); +#if JucePlugin_IsMidiEffect + juce::ignoreUnused(layouts); return true; - #else +#else // This is the place where you check if the layout is supported. // In this template code we only support mono or stereo. // Some plugin hosts, such as certain GarageBand versions, will only // load plugins that support stereo bus layouts. if (layouts.getMainOutputChannelSet() != juce::AudioChannelSet::mono() - && layouts.getMainOutputChannelSet() != juce::AudioChannelSet::stereo()) + && layouts.getMainOutputChannelSet() != juce::AudioChannelSet::stereo()) return false; // This checks if the input layout matches the output layout - #if ! JucePlugin_IsSynth +#if !JucePlugin_IsSynth if (layouts.getMainOutputChannelSet() != layouts.getMainInputChannelSet()) return false; - #endif +#endif return true; - #endif +#endif } -void SchroederReverbAudioProcessor::processBlock (juce::AudioBuffer<float>& buffer, - juce::MidiBuffer& midiMessages) +void +SchroederReverbAudioProcessor::processBlock(juce::AudioBuffer<float>& buffer, + juce::MidiBuffer& midiMessages) { - juce::ignoreUnused (midiMessages); + juce::ignoreUnused(midiMessages); juce::ScopedNoDenormals noDenormals; - auto totalNumInputChannels = getTotalNumInputChannels(); + auto totalNumInputChannels = getTotalNumInputChannels(); auto totalNumOutputChannels = getTotalNumOutputChannels(); // In case we have more outputs than inputs, this code clears any output @@ -137,7 +149,7 @@ void SchroederReverbAudioProcessor::processBlock (juce::AudioBuffer<float>& buff // when they first compile a plugin, but obviously you don't need to keep // this code if your algorithm always overwrites all the output channels. for (auto i = totalNumInputChannels; i < totalNumOutputChannels; ++i) - buffer.clear (i, 0, buffer.getNumSamples()); + buffer.clear(i, 0, buffer.getNumSamples()); // This is the place where you'd normally do the guts of your plugin's // audio processing... @@ -147,44 +159,50 @@ void SchroederReverbAudioProcessor::processBlock (juce::AudioBuffer<float>& buff // interleaved by keeping the same state. for (int channel = 0; channel < totalNumInputChannels; ++channel) { - auto *channelData = buffer.getWritePointer(channel); - for (int i = 0; i < buffer.getNumSamples(); ++i) { - schroederReverb.process(&channelData[i]); + auto* channelData = buffer.getWritePointer(channel); + for (int i = 0; i < buffer.getNumSamples(); ++i) + { + schroederReverb.process(&channelData[i]); } // ..do something to the data... } } //============================================================================== -bool SchroederReverbAudioProcessor::hasEditor() const +bool +SchroederReverbAudioProcessor::hasEditor() const { return true; // (change this to false if you choose to not supply an editor) } -juce::AudioProcessorEditor* SchroederReverbAudioProcessor::createEditor() +juce::AudioProcessorEditor* +SchroederReverbAudioProcessor::createEditor() { - return new SchroederReverbAudioProcessorEditor (*this); + return new SchroederReverbAudioProcessorEditor(*this); } //============================================================================== -void SchroederReverbAudioProcessor::getStateInformation (juce::MemoryBlock& destData) +void +SchroederReverbAudioProcessor::getStateInformation(juce::MemoryBlock& destData) { // You should use this method to store your parameters in the memory block. // You could do that either as raw data, or use the XML or ValueTree classes // as intermediaries to make it easy to save and load complex data. - juce::ignoreUnused (destData); + juce::ignoreUnused(destData); } -void SchroederReverbAudioProcessor::setStateInformation (const void* data, int sizeInBytes) +void +SchroederReverbAudioProcessor::setStateInformation(const void* data, int sizeInBytes) { // You should use this method to restore your parameters from this memory block, // whose contents will have been created by the getStateInformation() call. - juce::ignoreUnused (data, sizeInBytes); + juce::ignoreUnused(data, sizeInBytes); } //============================================================================== // This creates new instances of the plugin.. -juce::AudioProcessor* JUCE_CALLTYPE createPluginFilter() +juce::AudioProcessor* JUCE_CALLTYPE +createPluginFilter() { return new SchroederReverbAudioProcessor(); } |
