aboutsummaryrefslogblamecommitdiffstats
path: root/plugins/LV2/src/Energy/Energy.h
blob: e489585fc2df624b37dff393792ca123a5392e00 (plain) (tree)




























































































































































































                                                                             
#ifndef __Energy_H
#define __Energy_H

#include <lv2plugin.h>

class Energy : public LV2Plugin<9> {
public:
    Energy(double rate);

    void activate();
    void run(uint32_t num_samples);

    static constexpr const char * URI = "https://www.airwindows.com/energy";

private:
    /*
     * These are the original DSP functions from the VST plugin.
     * They need to be called from the LV2 plugins `run` function.
     */
    void processReplacing(float **in, float **out, VstInt32 samples);
    void processDoubleReplacing(double **in, double **out, VstInt32 samples);

    /*
     * Members needed by the processing functions.
     */
        
	long double fpNShapeL;
	long double fpNShapeR;
	//default stuff

	double duoEvenL;
	double duoOddL;
	double duoFactorL;
	bool flip;
	
	double tripletAL;
	double tripletBL;
	double tripletCL;
	double tripletFactorL;
	int countA;
	
	double quadAL;
	double quadBL;
	double quadCL;
	double quadDL;
	double quadFactorL;
	int countB;
	
	double quintAL;
	double quintBL;
	double quintCL;
	double quintDL;
	double quintEL;
	double quintFactorL;
	int countC;
	
	double sextAL;
	double sextBL;
	double sextCL;
	double sextDL;
	double sextEL;
	double sextFL;
	double sextFactorL;
	int countD;
	
	double septAL;
	double septBL;
	double septCL;
	double septDL;
	double septEL;
	double septFL;
	double septGL;
	double septFactorL;
	int countE;
	
	double octAL;
	double octBL;
	double octCL;
	double octDL;
	double octEL;
	double octFL;
	double octGL;
	double octHL;
	double octFactorL;
	int countF;
	
	double nintAL;
	double nintBL;
	double nintCL;
	double nintDL;
	double nintEL;
	double nintFL;
	double nintGL;
	double nintHL;
	double nintIL;
	double nintFactorL;
	int countG;
	
	double PrevHL;
	double PrevGL;
	double PrevFL;
	double PrevEL;
	double PrevDL;
	double PrevCL;
	double PrevBL;
	double PrevAL;
	
	double duoEvenR;
	double duoOddR;
	double duoFactorR;
	
	double tripletAR;
	double tripletBR;
	double tripletCR;
	double tripletFactorR;
	
	double quadAR;
	double quadBR;
	double quadCR;
	double quadDR;
	double quadFactorR;
	
	double quintAR;
	double quintBR;
	double quintCR;
	double quintDR;
	double quintER;
	double quintFactorR;
	
	double sextAR;
	double sextBR;
	double sextCR;
	double sextDR;
	double sextER;
	double sextFR;
	double sextFactorR;
	
	double septAR;
	double septBR;
	double septCR;
	double septDR;
	double septER;
	double septFR;
	double septGR;
	double septFactorR;
	
	double octAR;
	double octBR;
	double octCR;
	double octDR;
	double octER;
	double octFR;
	double octGR;
	double octHR;
	double octFactorR;
	
	double nintAR;
	double nintBR;
	double nintCR;
	double nintDR;
	double nintER;
	double nintFR;
	double nintGR;
	double nintHR;
	double nintIR;
	double nintFactorR;
	
	double PrevHR;
	double PrevGR;
	double PrevFR;
	double PrevER;
	double PrevDR;
	double PrevCR;
	double PrevBR;
	double PrevAR;
	
    float A;
    float B;
    float C;
    float D;
    float E;
    float F;
    float G;
    float H;
    float I;

};

#endif