The JUCE cross-platform C++ framework, with DISTRHO/KXStudio specific changes
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
2.0KB

  1. #pragma once
  2. #include <juce_audio_processors/juce_audio_processors.h>
  3. //==============================================================================
  4. class AudioPluginAudioProcessor final : public juce::AudioProcessor
  5. {
  6. public:
  7. //==============================================================================
  8. AudioPluginAudioProcessor();
  9. ~AudioPluginAudioProcessor() override;
  10. //==============================================================================
  11. void prepareToPlay (double sampleRate, int samplesPerBlock) override;
  12. void releaseResources() override;
  13. bool isBusesLayoutSupported (const BusesLayout& layouts) const override;
  14. void processBlock (juce::AudioBuffer<float>&, juce::MidiBuffer&) override;
  15. using AudioProcessor::processBlock;
  16. //==============================================================================
  17. juce::AudioProcessorEditor* createEditor() override;
  18. bool hasEditor() const override;
  19. //==============================================================================
  20. const juce::String getName() const override;
  21. bool acceptsMidi() const override;
  22. bool producesMidi() const override;
  23. bool isMidiEffect() const override;
  24. double getTailLengthSeconds() const override;
  25. //==============================================================================
  26. int getNumPrograms() override;
  27. int getCurrentProgram() override;
  28. void setCurrentProgram (int index) override;
  29. const juce::String getProgramName (int index) override;
  30. void changeProgramName (int index, const juce::String& newName) override;
  31. //==============================================================================
  32. void getStateInformation (juce::MemoryBlock& destData) override;
  33. void setStateInformation (const void* data, int sizeInBytes) override;
  34. private:
  35. //==============================================================================
  36. JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AudioPluginAudioProcessor)
  37. };