LFOParams::LFOParams(char Pfreq_, char Pintensity_, char Pstartphase_, char PLFOtype_, char Prandomness_, char Pdelay_, char Pcontinous_, char fel_):Presets() { switch(fel_) { case 0: setpresettype("Plfofrequency"); break; case 1: setpresettype("Plfoamplitude"); break; case 2: setpresettype("Plfofilter"); break; } Dfreq = Pfreq_; Dintensity = Pintensity_; Dstartphase = Pstartphase_; DLFOtype = PLFOtype_; Drandomness = Prandomness_; Ddelay = Pdelay_; Dcontinous = Pcontinous_; fel = fel_; time = 0; defaults(); }
PADnoteParameters::PADnoteParameters(FFTwrapper *fft_, pthread_mutex_t *mutex_):Presets() { setpresettype("Ppadsynth"); fft = fft_; mutex = mutex_; resonance = new Resonance(); oscilgen = new OscilGen(fft_, resonance); oscilgen->ADvsPAD = true; FreqEnvelope = new EnvelopeParams(0, 0); FreqEnvelope->ASRinit(64, 50, 64, 60); FreqLfo = new LFOParams(70, 0, 64, 0, 0, 0, 0, 0); AmpEnvelope = new EnvelopeParams(64, 1); AmpEnvelope->ADSRinit_dB(0, 40, 127, 25); AmpLfo = new LFOParams(80, 0, 64, 0, 0, 0, 0, 1); GlobalFilter = new FilterParams(2, 94, 40); FilterEnvelope = new EnvelopeParams(0, 1); FilterEnvelope->ADSRinit_filter(64, 40, 64, 70, 60, 64); FilterLfo = new LFOParams(80, 0, 64, 0, 0, 0, 0, 2); for(int i = 0; i < PAD_MAX_SAMPLES; ++i) sample[i].smp = NULL; newsample.smp = NULL; defaults(); }
ADnoteParameters::ADnoteParameters(FFTwrapper *fft_) :PresetsArray() { setpresettype("Padsyth"); fft = fft_; for(int nvoice = 0; nvoice < NUM_VOICES; ++nvoice) EnableVoice(nvoice); defaults(); }
void EnvelopeParams::ASRinit_bw(char A_val,char A_dt,char R_val,char R_dt) { setpresettype("Penvbandwidth"); Envmode=5; PA_val=A_val; PA_dt=A_dt; PR_val=R_val; PR_dt=R_dt; Pfreemode=0; converttofree(); store2defaults(); };
void EnvelopeParams::ADSRinit_dB(char A_dt,char D_dt,char S_val,char R_dt) { setpresettype("Penvamplitude"); Envmode=2; PA_dt=A_dt; PD_dt=D_dt; PS_val=S_val; PR_dt=R_dt; Pfreemode=0; converttofree(); store2defaults(); };
void EnvelopeParams::ASRinit(char A_val,char A_dt,char R_val,char R_dt) { setpresettype("Penvfrequency"); Envmode=3; PA_val=A_val; PA_dt=A_dt; PR_val=R_val; PR_dt=R_dt; Pfreemode=0; converttofree(); store2defaults(); };
FilterParams::FilterParams(unsigned char Ptype_, unsigned char Pfreq_, unsigned char Pq_) : PresetsArray() { setpresettype("Pfilter"); Dtype = Ptype_; Dfreq = Pfreq_; Dq = Pq_; changed = false; defaults(); }
void EnvelopeParams::ADSRinit_filter(char A_val,char A_dt,char D_val,char D_dt,char R_dt,char R_val) { setpresettype("Penvfilter"); Envmode=4; PA_val=A_val; PA_dt=A_dt; PD_val=D_val; PD_dt=D_dt; PR_dt=R_dt; PR_val=R_val; Pfreemode=0; converttofree(); store2defaults(); };
SUBnoteParameters::SUBnoteParameters():Presets(){ setpresettype("Psubsyth"); AmpEnvelope=new EnvelopeParams(64,1); AmpEnvelope->ADSRinit_dB(0,40,127,25); FreqEnvelope=new EnvelopeParams(64,0); FreqEnvelope->ASRinit(30,50,64,60); BandWidthEnvelope=new EnvelopeParams(64,0); BandWidthEnvelope->ASRinit_bw(100,70,64,60); GlobalFilter=new FilterParams(2,80,40); GlobalFilterEnvelope=new EnvelopeParams(0,1); GlobalFilterEnvelope->ADSRinit_filter(64,40,64,70,60,64); defaults(); };
SUBnoteParameters::SUBnoteParameters(SynthEngine *_synth) : Presets(_synth) { setpresettype("SUBnoteParameters"); AmpEnvelope = new EnvelopeParams(64, 1, synth); AmpEnvelope->ADSRinit_dB(0, 40, 127, 25); FreqEnvelope = new EnvelopeParams(64, 0, synth); FreqEnvelope->ASRinit(30, 50, 64, 60); BandWidthEnvelope = new EnvelopeParams(64, 0, synth); BandWidthEnvelope->ASRinit_bw(100, 70, 64, 60); GlobalFilter = new FilterParams(2, 80, 40, synth); GlobalFilterEnvelope = new EnvelopeParams(0, 1, synth); GlobalFilterEnvelope->ADSRinit_filter(64, 40, 64, 70, 60, 64); defaults(); }
OscilGen::OscilGen(FFTwrapper *fft_, Resonance *res_):Presets() { setpresettype("Poscilgen"); fft = fft_; res = res_; tmpsmps = new REALTYPE[OSCIL_SIZE]; newFFTFREQS(&outoscilFFTfreqs, OSCIL_SIZE / 2); newFFTFREQS(&oscilFFTfreqs, OSCIL_SIZE / 2); newFFTFREQS(&basefuncFFTfreqs, OSCIL_SIZE / 2); randseed = 1; ADvsPAD = false; defaults(); }
EffectMgr::EffectMgr(Allocator &alloc, const SYNTH_T &synth_, const bool insertion_) :insertion(insertion_), efxoutl(new float[synth_.buffersize]), efxoutr(new float[synth_.buffersize]), filterpars(NULL), nefx(0), efx(NULL), dryonly(false), memory(alloc), synth(synth_) { setpresettype("Peffect"); memset(efxoutl, 0, synth.bufferbytes); memset(efxoutr, 0, synth.bufferbytes); memset(settings, 0, sizeof(settings)); defaults(); }
ADnoteParameters::ADnoteParameters(FFTwrapper *fft_):Presets(){ setpresettype("Padsyth"); fft=fft_; GlobalPar.FreqEnvelope=new EnvelopeParams(0,0); GlobalPar.FreqEnvelope->ASRinit(64,50,64,60); GlobalPar.FreqLfo=new LFOParams(70,0,64,0,0,0,0,0); GlobalPar.AmpEnvelope=new EnvelopeParams(64,1); GlobalPar.AmpEnvelope->ADSRinit_dB(0,40,127,25); GlobalPar.AmpLfo=new LFOParams(80,0,64,0,0,0,0,1); GlobalPar.GlobalFilter=new FilterParams(2,94,40); GlobalPar.FilterEnvelope=new EnvelopeParams(0,1); GlobalPar.FilterEnvelope->ADSRinit_filter(64,40,64,70,60,64); GlobalPar.FilterLfo=new LFOParams(80,0,64,0,0,0,0,2); GlobalPar.Reson=new Resonance(); for (int nvoice=0;nvoice<NUM_VOICES;nvoice++) EnableVoice(nvoice); defaults(); };
OscilGen::OscilGen(const SYNTH_T &synth_, FFTwrapper *fft_, Resonance *res_) :Presets(), synth(synth_) { //assert(fft_); setpresettype("Poscilgen"); fft = fft_; res = res_; tmpsmps = new float[synth.oscilsize]; outoscilFFTfreqs = new fft_t[synth.oscilsize / 2]; oscilFFTfreqs = new fft_t[synth.oscilsize / 2]; basefuncFFTfreqs = new fft_t[synth.oscilsize / 2]; cachedbasefunc = new float[synth.oscilsize]; cachedbasevalid = false; pendingfreqs = oscilFFTfreqs; randseed = 1; ADvsPAD = false; defaults(); }