diff options
| author | Robert Jonsson <spamatica@gmail.com> | 2011-04-15 18:52:45 +0000 | 
|---|---|---|
| committer | Robert Jonsson <spamatica@gmail.com> | 2011-04-15 18:52:45 +0000 | 
| commit | 47a10173ea203de2036dd00791fe5c24fb673135 (patch) | |
| tree | 6cb2e59a1e099adb30ec4f394097e33974c54ac4 /attic/muse_qt4_evolution/synti/zynaddsubfx/Synth/OscilGen.h | |
| parent | 8edb9ca0e8e056faa0b488c947e7447a8148f880 (diff) | |
removing unnecessary duplication
Diffstat (limited to 'attic/muse_qt4_evolution/synti/zynaddsubfx/Synth/OscilGen.h')
| -rw-r--r-- | attic/muse_qt4_evolution/synti/zynaddsubfx/Synth/OscilGen.h | 176 | 
1 files changed, 0 insertions, 176 deletions
diff --git a/attic/muse_qt4_evolution/synti/zynaddsubfx/Synth/OscilGen.h b/attic/muse_qt4_evolution/synti/zynaddsubfx/Synth/OscilGen.h deleted file mode 100644 index 1d9980a9..00000000 --- a/attic/muse_qt4_evolution/synti/zynaddsubfx/Synth/OscilGen.h +++ /dev/null @@ -1,176 +0,0 @@ -/* -  ZynAddSubFX - a software synthesizer - -  OscilGen.h - Waveform generator for ADnote -  Copyright (C) 2002-2005 Nasca Octavian Paul -  Author: Nasca Octavian Paul - -  This program is free software; you can redistribute it and/or modify -  it under the terms of version 2 of the GNU General Public License  -  as published by the Free Software Foundation. - -  This program is distributed in the hope that it will be useful, -  but WITHOUT ANY WARRANTY; without even the implied warranty of -  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -  GNU General Public License (version 2) for more details. - -  You should have received a copy of the GNU General Public License (version 2) -  along with this program; if not, write to the Free Software Foundation, -  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA - -*/ - -#ifndef OSCIL_GEN_H -#define OSCIL_GEN_H - -#include "../globals.h" -#include "../Misc/XMLwrapper.h" -#include "Resonance.h" -#include "../DSP/FFTwrapper.h"   -#include "../Params/Presets.h" - -class OscilGen:public Presets{ -    public: -	OscilGen(FFTwrapper *fft_,Resonance *res_); -	~OscilGen(); - -        //computes the full spectrum of oscil from harmonics,phases and basefunc -	void prepare(); - -	//do the antialiasing(cut off higher freqs.),apply randomness and do a IFFT -	short get(REALTYPE *smps,REALTYPE freqHz);//returns where should I start getting samples, used in block type randomness -	short get(REALTYPE *smps,REALTYPE freqHz,int resonance); -	//if freqHz is smaller than 0, return the "un-randomized" sample for UI -	 -        void getbasefunction(REALTYPE *smps); - -	//called by UI -	void getspectrum(int n,REALTYPE *spc,int what);//what=0 pt. oscil,1 pt. basefunc -        void getcurrentbasefunction(REALTYPE *smps); -	void useasbase();//convert oscil to base function - -    	void add2XML(XMLwrapper *xml); -	void defaults(); -	void getfromXML(XMLwrapper *xml); - -	void convert2sine(int magtype); -	 -	//Parameters -			 -	/*  -	  The hmag and hphase starts counting from 0, so the first harmonic(1) has the index 0, -	  2-nd harmonic has index 1, ..the 128 harminic has index 127 -	*/ -	unsigned char Phmag[MAX_AD_HARMONICS],Phphase[MAX_AD_HARMONICS];//the MIDI parameters for mag. and phases -	 -	 -	/*The Type of magnitude: -	    0 - Linear -	    1 - dB scale (-40) -	    2 - dB scale (-60) -	    3 - dB scale (-80) -	    4 - dB scale (-100)*/ -	unsigned char Phmagtype; - -	unsigned char Pcurrentbasefunc;//The base function used - 0=sin, 1=... -	unsigned char Pbasefuncpar;//the parameter of the base function -	 -	unsigned char Pbasefuncmodulation;//what modulation is applied to the basefunc -	unsigned char Pbasefuncmodulationpar1,Pbasefuncmodulationpar2,Pbasefuncmodulationpar3;//the parameter of the base function modulation - -	/*the Randomness: -	  64=no randomness -	  63..0 - block type randomness - 0 is maximum -	  65..127 - each harmonic randomness - 127 is maximum*/ -	unsigned char Prand; -	unsigned char Pwaveshaping,Pwaveshapingfunction; -	unsigned char Pfiltertype,Pfilterpar1,Pfilterpar2; -	unsigned char Pfilterbeforews; -	unsigned char Psatype,Psapar;//spectrum adjust - -	unsigned char Pamprandpower, Pamprandtype;//amplitude randomness -	int Pharmonicshift;//how the harmonics are shifted -	int Pharmonicshiftfirst;//if the harmonic shift is done before waveshaping and filter - -	unsigned char Padaptiveharmonics;//the adaptive harmonics status (off=0,on=1,etc..) -	unsigned char Padaptiveharmonicsbasefreq;//the base frequency of the adaptive harmonic (30..3000Hz) -	unsigned char Padaptiveharmonicspower;//the strength of the effect (0=off,100=full) -	unsigned char Padaptiveharmonicspar;//the parameters in 2,3,4.. modes of adaptive harmonics - -	unsigned char Pmodulation;//what modulation is applied to the oscil -	unsigned char Pmodulationpar1,Pmodulationpar2,Pmodulationpar3;//the parameter of the parameters - - -	//makes a new random seed for Amplitude Randomness -	//this should be called every note on event -	void newrandseed(unsigned int randseed); -	 -	bool ADvsPAD;//if it is used by ADsynth or by PADsynth - -	static REALTYPE *tmpsmps;//this array stores some termporary data and it has SOUND_BUFFER_SIZE elements -	static FFTFREQS outoscilFFTfreqs; - -    private: -	 -	REALTYPE hmag[MAX_AD_HARMONICS],hphase[MAX_AD_HARMONICS];//the magnituides and the phases of the sine/nonsine harmonics -//    private: -	FFTwrapper *fft; -	//computes the basefunction and make the FFT; newbasefunc<0  = same basefunc -	void changebasefunction(); -	//Waveshaping -	void waveshape(); - -	//Filter the oscillator accotding to Pfiltertype and Pfilterpar -	void oscilfilter(); - -	//Adjust the spectrum -	void spectrumadjust(); -	 -	//Shift the harmonics -	void shiftharmonics(); -     -	//Do the oscil modulation stuff -	void modulation(); - -	//Do the adaptive harmonic stuff -	void adaptiveharmonic(FFTFREQS f,REALTYPE freq); -	 -	//Do the adaptive harmonic postprocessing (2n+1,2xS,2xA,etc..) -	//this function is called even for the user interface -	//this can be called for the sine and components, and for the spectrum  -	//(that's why the sine and cosine components should be processed with a separate call) -	void adaptiveharmonicpostprocess(REALTYPE *f, int size); -		 -    	//Basic/base functions (Functiile De Baza) -	REALTYPE basefunc_pulse(REALTYPE x,REALTYPE a); -	REALTYPE basefunc_saw(REALTYPE x,REALTYPE a); -	REALTYPE basefunc_triangle(REALTYPE x,REALTYPE a); -	REALTYPE basefunc_power(REALTYPE x,REALTYPE a); -	REALTYPE basefunc_gauss(REALTYPE x,REALTYPE a); -	REALTYPE basefunc_diode(REALTYPE x,REALTYPE a); -	REALTYPE basefunc_abssine(REALTYPE x,REALTYPE a); -	REALTYPE basefunc_pulsesine(REALTYPE x,REALTYPE a); -	REALTYPE basefunc_stretchsine(REALTYPE x,REALTYPE a); -	REALTYPE basefunc_chirp(REALTYPE x,REALTYPE a); -	REALTYPE basefunc_absstretchsine(REALTYPE x,REALTYPE a); -	REALTYPE basefunc_chebyshev(REALTYPE x,REALTYPE a); -	REALTYPE basefunc_sqr(REALTYPE x,REALTYPE a); - -	//Internal Data -	unsigned char oldbasefunc,oldbasepar,oldhmagtype,oldwaveshapingfunction,oldwaveshaping; -	int oldfilterpars,oldsapars,oldbasefuncmodulation,oldbasefuncmodulationpar1,oldbasefuncmodulationpar2,oldbasefuncmodulationpar3,oldharmonicshift; -	int oldmodulation,oldmodulationpar1,oldmodulationpar2,oldmodulationpar3; - - -	FFTFREQS basefuncFFTfreqs;//Base Function Frequencies -	FFTFREQS oscilFFTfreqs;//Oscillator Frequencies - this is different than the hamonics set-up by the user, it may contains time-domain data if the antialiasing is turned off -	int oscilprepared;//1 if the oscil is prepared, 0 if it is not prepared and is need to call ::prepare() before ::get() -	 -	Resonance *res;	 -	 -	unsigned int randseed; -	 -}; - - -#endif  | 
