void ADnoteParameters::getfromXML(XMLwrapper *xml) { GlobalPar.getfromXML(xml); for(int nvoice = 0; nvoice < NUM_VOICES; ++nvoice) { VoicePar[nvoice].Enabled = 0; if(xml->enterbranch("VOICE", nvoice) == 0) continue; getfromXMLsection(xml, nvoice); xml->exitbranch(); } }
void FilterParams::getfromXML(XMLwrapper *xml) { //filter parameters Pcategory = xml->getpar127("category", Pcategory); Ptype = xml->getpar127("type", Ptype); Pfreq = xml->getpar127("freq", Pfreq); Pq = xml->getpar127("q", Pq); Pstages = xml->getpar127("stages", Pstages); Pfreqtrack = xml->getpar127("freq_track", Pfreqtrack); Pgain = xml->getpar127("gain", Pgain); //formant filter parameters if(xml->enterbranch("FORMANT_FILTER")) { Pnumformants = xml->getpar127("num_formants", Pnumformants); Pformantslowness = xml->getpar127("formant_slowness", Pformantslowness); Pvowelclearness = xml->getpar127("vowel_clearness", Pvowelclearness); Pcenterfreq = xml->getpar127("center_freq", Pcenterfreq); Poctavesfreq = xml->getpar127("octaves_freq", Poctavesfreq); for(int nvowel = 0; nvowel < FF_MAX_VOWELS; nvowel++) { if(xml->enterbranch("VOWEL", nvowel) == 0) continue; getfromXMLsection(xml, nvowel); xml->exitbranch(); } Psequencesize = xml->getpar127("sequence_size", Psequencesize); Psequencestretch = xml->getpar127("sequence_stretch", Psequencestretch); Psequencereversed = xml->getparbool("sequence_reversed", Psequencereversed); for(int nseq = 0; nseq < FF_MAX_SEQUENCE; nseq++) { if(xml->enterbranch("SEQUENCE_POS", nseq) == 0) continue; Psequence[nseq].nvowel = xml->getpar("vowel_id", Psequence[nseq].nvowel, 0, FF_MAX_VOWELS - 1); xml->exitbranch(); } xml->exitbranch(); } }
void ADnoteParameters::getfromXML(XMLwrapper *xml){ GlobalPar.PStereo=xml->getparbool("stereo",GlobalPar.PStereo); if (xml->enterbranch("AMPLITUDE_PARAMETERS")){ GlobalPar.PVolume=xml->getpar127("volume",GlobalPar.PVolume); GlobalPar.PPanning=xml->getpar127("panning",GlobalPar.PPanning); GlobalPar.PAmpVelocityScaleFunction=xml->getpar127("velocity_sensing",GlobalPar.PAmpVelocityScaleFunction); GlobalPar.PPunchStrength=xml->getpar127("punch_strength",GlobalPar.PPunchStrength); GlobalPar.PPunchTime=xml->getpar127("punch_time",GlobalPar.PPunchTime); GlobalPar.PPunchStretch=xml->getpar127("punch_stretch",GlobalPar.PPunchStretch); GlobalPar.PPunchVelocitySensing=xml->getpar127("punch_velocity_sensing",GlobalPar.PPunchVelocitySensing); GlobalPar.Hrandgrouping=xml->getpar127("harmonic_randomness_grouping",GlobalPar.Hrandgrouping); if (xml->enterbranch("AMPLITUDE_ENVELOPE")){ GlobalPar.AmpEnvelope->getfromXML(xml); xml->exitbranch(); }; if (xml->enterbranch("AMPLITUDE_LFO")){ GlobalPar.AmpLfo->getfromXML(xml); xml->exitbranch(); }; xml->exitbranch(); }; if (xml->enterbranch("FREQUENCY_PARAMETERS")){ GlobalPar.PDetune=xml->getpar("detune",GlobalPar.PDetune,0,16383); GlobalPar.PCoarseDetune=xml->getpar("coarse_detune",GlobalPar.PCoarseDetune,0,16383); GlobalPar.PDetuneType=xml->getpar127("detune_type",GlobalPar.PDetuneType); GlobalPar.PBandwidth=xml->getpar127("bandwidth",GlobalPar.PBandwidth); xml->enterbranch("FREQUENCY_ENVELOPE"); GlobalPar.FreqEnvelope->getfromXML(xml); xml->exitbranch(); xml->enterbranch("FREQUENCY_LFO"); GlobalPar.FreqLfo->getfromXML(xml); xml->exitbranch(); xml->exitbranch(); }; if (xml->enterbranch("FILTER_PARAMETERS")){ GlobalPar.PFilterVelocityScale=xml->getpar127("velocity_sensing_amplitude",GlobalPar.PFilterVelocityScale); GlobalPar.PFilterVelocityScaleFunction=xml->getpar127("velocity_sensing",GlobalPar.PFilterVelocityScaleFunction); xml->enterbranch("FILTER"); GlobalPar.GlobalFilter->getfromXML(xml); xml->exitbranch(); xml->enterbranch("FILTER_ENVELOPE"); GlobalPar.FilterEnvelope->getfromXML(xml); xml->exitbranch(); xml->enterbranch("FILTER_LFO"); GlobalPar.FilterLfo->getfromXML(xml); xml->exitbranch(); xml->exitbranch(); }; if (xml->enterbranch("RESONANCE")){ GlobalPar.Reson->getfromXML(xml); xml->exitbranch(); }; for (int nvoice=0;nvoice<NUM_VOICES;nvoice++){ VoicePar[nvoice].Enabled=0; if (xml->enterbranch("VOICE",nvoice)==0) continue; getfromXMLsection(xml,nvoice); xml->exitbranch(); }; };