/* ZynAddSubFX - a software synthesizer LFOParams.C - Parameters for LFO 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 */ #include #include #include "../globals.h" #include "LFOParams.h" int LFOParams::time; 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(); }; LFOParams::~LFOParams(){ }; void LFOParams::defaults(){ Pfreq=Dfreq/127.0; Pintensity=Dintensity; Pstartphase=Dstartphase; PLFOtype=DLFOtype; Prandomness=Drandomness; Pdelay=Ddelay; Pcontinous=Dcontinous; Pfreqrand=0; Pstretch=64; }; void LFOParams::add2XML(XMLwrapper *xml){ xml->addparreal("freq",Pfreq); xml->addpar("intensity",Pintensity); xml->addpar("start_phase",Pstartphase); xml->addpar("lfo_type",PLFOtype); xml->addpar("randomness_amplitude",Prandomness); xml->addpar("randomness_frequency",Pfreqrand); xml->addpar("delay",Pdelay); xml->addpar("stretch",Pstretch); xml->addparbool("continous",Pcontinous); }; void LFOParams::getfromXML(XMLwrapper *xml){ Pfreq=xml->getparreal("freq",Pfreq,0.0,1.0); Pintensity=xml->getpar127("intensity",Pintensity); Pstartphase=xml->getpar127("start_phase",Pstartphase); PLFOtype=xml->getpar127("lfo_type",PLFOtype); Prandomness=xml->getpar127("randomness_amplitude",Prandomness); Pfreqrand=xml->getpar127("randomness_frequency",Pfreqrand); Pdelay=xml->getpar127("delay",Pdelay); Pstretch=xml->getpar127("stretch",Pstretch); Pcontinous=xml->getparbool("continous",Pcontinous); };