reVeno/Source/PluginProcessor.h

60 lines
1.5 KiB
C
Raw Normal View History

2020-04-03 13:23:19 +02:00
#pragma once
#include <JuceHeader.h>
2020-06-13 10:56:20 +02:00
#include "Veno/VenoInstance.h"
2020-04-03 13:23:19 +02:00
class VenoAudioProcessor : public AudioProcessor {
2020-04-03 13:23:19 +02:00
public:
//==============================================================================
VenoAudioProcessor();
2020-04-03 13:23:19 +02:00
~VenoAudioProcessor();
void prepareToPlay(double sampleRate, int samplesPerBlock) override;
2020-04-03 13:23:19 +02:00
void releaseResources() override;
#ifndef JucePlugin_PreferredChannelConfigurations
2020-04-03 13:23:19 +02:00
bool isBusesLayoutSupported(const BusesLayout &layouts) const override;
#endif
void processBlock(AudioBuffer<float> &, MidiBuffer &) override;
AudioProcessorEditor *createEditor() override;
2020-04-03 13:23:19 +02:00
bool hasEditor() const override;
const String getName() const override;
bool acceptsMidi() const override;
2020-04-03 13:23:19 +02:00
bool producesMidi() const override;
2020-04-03 13:23:19 +02:00
bool isMidiEffect() const override;
2020-04-03 13:23:19 +02:00
double getTailLengthSeconds() const override;
int getNumPrograms() override;
2020-04-03 13:23:19 +02:00
int getCurrentProgram() override;
void setCurrentProgram(int index) override;
2020-04-03 13:23:19 +02:00
const String getProgramName(int index) override;
void changeProgramName(int index, const String &newName) override;
void getStateInformation(MemoryBlock &destData) override;
void setStateInformation(const void *data, int sizeInBytes) override;
// Variable to communicate with the GUI and the Processor
std::string m_id = Uuid().toString().toStdString();
2020-06-13 10:56:20 +02:00
std::shared_ptr<VenoInstance> instance;
2020-04-03 13:23:19 +02:00
private:
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (VenoAudioProcessor)
};