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.

48 lines
2.0KB

  1. #pragma once
  2. #include <juce_audio_processors/juce_audio_processors.h>
  3. //==============================================================================
  4. class AudioPluginAudioProcessor : 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. //==============================================================================
  16. juce::AudioProcessorEditor* createEditor() override;
  17. bool hasEditor() const override;
  18. //==============================================================================
  19. const juce::String getName() const override;
  20. bool acceptsMidi() const override;
  21. bool producesMidi() const override;
  22. bool isMidiEffect() const override;
  23. double getTailLengthSeconds() const override;
  24. //==============================================================================
  25. int getNumPrograms() override;
  26. int getCurrentProgram() override;
  27. void setCurrentProgram (int index) override;
  28. const juce::String getProgramName (int index) override;
  29. void changeProgramName (int index, const juce::String& newName) override;
  30. //==============================================================================
  31. void getStateInformation (juce::MemoryBlock& destData) override;
  32. void setStateInformation (const void* data, int sizeInBytes) override;
  33. private:
  34. //==============================================================================
  35. JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AudioPluginAudioProcessor)
  36. };