void Microtonal::add2XML(XMLwrapper& xml) const { xml.addparstr("name", (char *) Pname); xml.addparstr("comment", (char *) Pcomment); xml.addparbool("invert_up_down", Pinvertupdown); xml.addpar("invert_up_down_center", Pinvertupdowncenter); xml.addparbool("enabled", Penabled); xml.addpar("global_fine_detune", Pglobalfinedetune); xml.addpar("a_note", PAnote); xml.addparreal("a_freq", PAfreq); if((Penabled == 0) && (xml.minimal)) return; xml.beginbranch("SCALE"); xml.addpar("scale_shift", Pscaleshift); xml.addpar("first_key", Pfirstkey); xml.addpar("last_key", Plastkey); xml.addpar("middle_note", Pmiddlenote); xml.beginbranch("OCTAVE"); xml.addpar("octave_size", octavesize); for(int i = 0; i < octavesize; ++i) { xml.beginbranch("DEGREE", i); if(octave[i].type == 1) xml.addparreal("cents", octave[i].tuning); ; if(octave[i].type == 2) { xml.addpar("numerator", octave[i].x1); xml.addpar("denominator", octave[i].x2); } xml.endbranch(); } xml.endbranch(); xml.beginbranch("KEYBOARD_MAPPING"); xml.addpar("map_size", Pmapsize); xml.addpar("mapping_enabled", Pmappingenabled); for(int i = 0; i < Pmapsize; ++i) { xml.beginbranch("KEYMAP", i); xml.addpar("degree", Pmapping[i]); xml.endbranch(); } xml.endbranch(); xml.endbranch(); }
void FilterParams::add2XML(XMLwrapper& xml) { //filter parameters xml.addpar("category", Pcategory); xml.addpar("type", Ptype); xml.addpar("freq", Pfreq); xml.addpar("q", Pq); xml.addpar("stages", Pstages); xml.addpar("freq_track", Pfreqtrack); xml.addpar("gain", Pgain); //formant filter parameters if((Pcategory == 1) || (!xml.minimal)) { xml.beginbranch("FORMANT_FILTER"); xml.addpar("num_formants", Pnumformants); xml.addpar("formant_slowness", Pformantslowness); xml.addpar("vowel_clearness", Pvowelclearness); xml.addpar("center_freq", Pcenterfreq); xml.addpar("octaves_freq", Poctavesfreq); for(int nvowel = 0; nvowel < FF_MAX_VOWELS; ++nvowel) { xml.beginbranch("VOWEL", nvowel); add2XMLsection(xml, nvowel); xml.endbranch(); } xml.addpar("sequence_size", Psequencesize); xml.addpar("sequence_stretch", Psequencestretch); xml.addparbool("sequence_reversed", Psequencereversed); for(int nseq = 0; nseq < FF_MAX_SEQUENCE; ++nseq) { xml.beginbranch("SEQUENCE_POS", nseq); xml.addpar("vowel_id", Psequence[nseq].nvowel); xml.endbranch(); } xml.endbranch(); } }
void Controller::add2XML(XMLwrapper& xml) { xml.addpar("pitchwheel_bendrange", pitchwheel.bendrange); xml.addpar("pitchwheel_bendrange_down", pitchwheel.bendrange_down); xml.addparbool("pitchwheel_split", pitchwheel.is_split); xml.addparbool("expression_receive", expression.receive); xml.addpar("panning_depth", panning.depth); xml.addpar("filter_cutoff_depth", filtercutoff.depth); xml.addpar("filter_q_depth", filterq.depth); xml.addpar("bandwidth_depth", bandwidth.depth); xml.addpar("mod_wheel_depth", modwheel.depth); xml.addparbool("mod_wheel_exponential", modwheel.exponential); xml.addparbool("fm_amp_receive", fmamp.receive); xml.addparbool("volume_receive", volume.receive); xml.addparbool("sustain_receive", sustain.receive); xml.addparbool("portamento_receive", portamento.receive); xml.addpar("portamento_time", portamento.time); xml.addpar("portamento_pitchthresh", portamento.pitchthresh); xml.addpar("portamento_pitchthreshtype", portamento.pitchthreshtype); xml.addpar("portamento_portamento", portamento.portamento); xml.addpar("portamento_updowntimestretch", portamento.updowntimestretch); xml.addpar("portamento_proportional", portamento.proportional); xml.addpar("portamento_proprate", portamento.propRate); xml.addpar("portamento_propdepth", portamento.propDepth); xml.addpar("resonance_center_depth", resonancecenter.depth); xml.addpar("resonance_bandwidth_depth", resonancebandwidth.depth); }
void Resonance::add2XML(XMLwrapper& xml) { xml.addparbool("enabled", Penabled); if((Penabled == 0) && (xml.minimal)) return; xml.addpar("max_db", PmaxdB); xml.addpar("center_freq", Pcenterfreq); xml.addpar("octaves_freq", Poctavesfreq); xml.addparbool("protect_fundamental_frequency", Pprotectthefundamental); xml.addpar("resonance_points", N_RES_POINTS); for(int i = 0; i < N_RES_POINTS; ++i) { xml.beginbranch("RESPOINT", i); xml.addpar("val", Prespoints[i]); xml.endbranch(); } }
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 SUBnoteParameters::add2XML(XMLwrapper& xml) { xml.addpar("num_stages", Pnumstages); xml.addpar("harmonic_mag_type", Phmagtype); xml.addpar("start", Pstart); xml.beginbranch("HARMONICS"); for(int i = 0; i < MAX_SUB_HARMONICS; ++i) { if((Phmag[i] == 0) && (xml.minimal)) continue; xml.beginbranch("HARMONIC", i); xml.addpar("mag", Phmag[i]); xml.addpar("relbw", Phrelbw[i]); xml.endbranch(); } xml.endbranch(); xml.beginbranch("AMPLITUDE_PARAMETERS"); xml.addparbool("stereo", Pstereo); xml.addpar("volume", PVolume); xml.addpar("panning", PPanning); xml.addpar("velocity_sensing", PAmpVelocityScaleFunction); xml.beginbranch("AMPLITUDE_ENVELOPE"); AmpEnvelope->add2XML(xml); xml.endbranch(); xml.endbranch(); xml.beginbranch("FREQUENCY_PARAMETERS"); xml.addparbool("fixed_freq", Pfixedfreq); xml.addpar("fixed_freq_et", PfixedfreqET); xml.addpar("bend_adjust", PBendAdjust); xml.addpar("offset_hz", POffsetHz); xml.addpar("detune", PDetune); xml.addpar("coarse_detune", PCoarseDetune); xml.addpar("overtone_spread_type", POvertoneSpread.type); xml.addpar("overtone_spread_par1", POvertoneSpread.par1); xml.addpar("overtone_spread_par2", POvertoneSpread.par2); xml.addpar("overtone_spread_par3", POvertoneSpread.par3); xml.addpar("detune_type", PDetuneType); xml.addpar("bandwidth", Pbandwidth); xml.addpar("bandwidth_scale", Pbwscale); xml.addparbool("freq_envelope_enabled", PFreqEnvelopeEnabled); if((PFreqEnvelopeEnabled != 0) || (!xml.minimal)) { xml.beginbranch("FREQUENCY_ENVELOPE"); FreqEnvelope->add2XML(xml); xml.endbranch(); } xml.addparbool("band_width_envelope_enabled", PBandWidthEnvelopeEnabled); if((PBandWidthEnvelopeEnabled != 0) || (!xml.minimal)) { xml.beginbranch("BANDWIDTH_ENVELOPE"); BandWidthEnvelope->add2XML(xml); xml.endbranch(); } xml.endbranch(); xml.beginbranch("FILTER_PARAMETERS"); xml.addparbool("enabled", PGlobalFilterEnabled); if((PGlobalFilterEnabled != 0) || (!xml.minimal)) { xml.beginbranch("FILTER"); GlobalFilter->add2XML(xml); xml.endbranch(); xml.addpar("filter_velocity_sensing", PGlobalFilterVelocityScaleFunction); xml.addpar("filter_velocity_sensing_amplitude", PGlobalFilterVelocityScale); xml.beginbranch("FILTER_ENVELOPE"); GlobalFilterEnvelope->add2XML(xml); xml.endbranch(); } xml.endbranch(); }