void Echo::changepar(int npar, unsigned char value) { switch(npar) { case 0: setvolume(value); break; case 1: setpanning(value); break; case 2: setdelay(value); break; case 3: setlrdelay(value); break; case 4: setlrcross(value); break; case 5: setfb(value); break; case 6: sethidamp(value); break; } }
void Echotron::changepar (int npar, int value) { float tmptempo; switch (npar) { case 0: setvolume (value); break; case 1: Pdepth=value; initparams=1; break; case 2: Pwidth=value; initparams=1; break; case 3: Plength = value; if(Plength>127) Plength = 127; initparams=1; break; case 4: Puser = value; break; case 5: Ptempo = value; tmptempo = (float) Ptempo; tempo_coeff = 60.0f / tmptempo; lfo.Pfreq = lrintf(subdiv_fmod*tmptempo); dlfo.Pfreq = lrintf(subdiv_dmod*tmptempo); lfo.updateparams (); initparams=1; break; case 6: sethidamp (value); break; case 7: Plrcross = value; lrcross = ((float)(Plrcross)-64)/64.0; ilrcross = 1.0f - abs(lrcross); break; case 8: /*if(!setfile(value)) { error_num=4; MessageBox(NULL, "Could not find Echotron dly files.", "Error", MB_OK); }*/ break; case 9: lfo.Pstereo = value; dlfo.Pstereo = value; lfo.updateparams (); dlfo.updateparams (); break; case 10: Pfb = value; setfb(value); break; case 11: setpanning (value); break; case 12: Pmoddly = value;//delay modulation on/off break; case 13: Pmodfilts = value;//filter modulation on/off if(!Pmodfilts) initparams=1; break; case 14: //LFO Type lfo.PLFOtype = value; lfo.updateparams (); dlfo.PLFOtype = value; dlfo.updateparams (); break; case 15: Pfilters = value;//Pfilters break; }; };