Guest User

Untitled

a guest
Oct 23rd, 2019
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.00 KB | None | 0 0
  1. /*
  2.   ==============================================================================
  3.  
  4.     This file was auto-generated!
  5.  
  6.     It contains the basic framework code for a JUCE plugin processor.
  7.  
  8.   ==============================================================================
  9. */
  10.  
  11. #pragma once
  12.  
  13. #include "../JuceLibraryCode/JuceHeader.h"
  14.  
  15. //==============================================================================
  16. /**
  17. */
  18. class DelayTutAudioProcessor  : public AudioProcessor
  19. {
  20. public:
  21.     //==============================================================================
  22.     DelayTutAudioProcessor();
  23.     ~DelayTutAudioProcessor();
  24.  
  25.     //==============================================================================
  26.     void prepareToPlay (double sampleRate, int samplesPerBlock) override;
  27.     void releaseResources() override;
  28.  
  29.    #ifndef JucePlugin_PreferredChannelConfigurations
  30.     bool isBusesLayoutSupported (const BusesLayout& layouts) const override;
  31.    #endif
  32.  
  33.     void processBlock (AudioBuffer<float>&, MidiBuffer&) override;
  34.  
  35.     //==============================================================================
  36.     AudioProcessorEditor* createEditor() override;
  37.     bool hasEditor() const override;
  38.  
  39.     //==============================================================================
  40.     const String getName() const override;
  41.  
  42.     bool acceptsMidi() const override;
  43.     bool producesMidi() const override;
  44.     bool isMidiEffect() const override;
  45.     double getTailLengthSeconds() const override;
  46.  
  47.     //==============================================================================
  48.     int getNumPrograms() override;
  49.     int getCurrentProgram() override;
  50.     void setCurrentProgram (int index) override;
  51.     const String getProgramName (int index) override;
  52.     void changeProgramName (int index, const String& newName) override;
  53.  
  54.     //==============================================================================
  55.     void getStateInformation (MemoryBlock& destData) override;
  56.     void setStateInformation (const void* data, int sizeInBytes) override;
  57.  
  58. private:
  59.     //PARAMS
  60.     //=========================
  61.     int delayTime{500};
  62.     float delayGain{ 0.5 };
  63.  
  64.     //PROCESSOR VARS
  65.     //=========================
  66.     int m_sampleRate{ 44100 };
  67.     int ms; //Length in samples of a millisecond
  68.     AudioBuffer<float> m_delayBuffer; //where delayed signal is stored
  69.     int m_writePosition{0};
  70.     float m_maxDelayTime{ 2.0 }; //longest delay time allowed in seconds
  71.  
  72.     //PROCESSOR FUNCTIONS
  73.     //=======================
  74.     void fillDelayBuffer(const int delayBufferLength, const int bufferLength, int channel,
  75.         const float* bufferData, const float* delayBufferData);
  76.  
  77.     void getFromDelayBuffer(AudioBuffer<float>& buffer, int channel, const int bufferLength, const int delayBufferLength,
  78.                                     const float* bufferData, const float* delayBufferData);
  79.  
  80.     //==============================================================================
  81.     JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (DelayTutAudioProcessor)
  82. };
Add Comment
Please, Sign In to add comment