Пример #1
0
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();
}
Пример #2
0
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();
}
Пример #3
0
ADnoteParameters::ADnoteParameters(FFTwrapper *fft_)
    :PresetsArray()
{
    setpresettype("Padsyth");
    fft = fft_;


    for(int nvoice = 0; nvoice < NUM_VOICES; ++nvoice)
        EnableVoice(nvoice);

    defaults();
}
Пример #4
0
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();
};
Пример #5
0
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();
};
Пример #6
0
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();
};
Пример #7
0
FilterParams::FilterParams(unsigned char Ptype_,
                           unsigned char Pfreq_,
                           unsigned char Pq_)
    : PresetsArray()
{
    setpresettype("Pfilter");
    Dtype   = Ptype_;
    Dfreq   = Pfreq_;
    Dq      = Pq_;

    changed = false;
    defaults();
}
Пример #8
0
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();
};
Пример #9
0
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();
};
Пример #10
0
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();
}
Пример #11
0
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();
}
Пример #12
0
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();
}
Пример #13
0
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();
};
Пример #14
0
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();
}