private void copy_beepsource_values(BeepSource source)
{
beepsource_clipboard = new ConfigNode();
ConfigNode _filter;
beepsource_clipboard.AddValue("precise", source.precise);
beepsource_clipboard.AddValue("precise_freq", source.precise_freq);
beepsource_clipboard.AddValue("loose_freq", source.loose_freq);
beepsource_clipboard.AddValue("volume", source.audiosource.volume);
beepsource_clipboard.AddValue("pitch", source.audiosource.pitch);
beepsource_clipboard.AddValue("current_clip", source.current_clip);
beepsource_clipboard.AddValue("sel_filter", source.sel_filter);
beepsource_clipboard.AddValue("show_settings_window", source.show_settings_window);
beepsource_clipboard.AddValue("reverb_preset_index", source.reverb_preset_index);
beepsource_clipboard.AddValue("settings_window_pos_x", source.settings_window_pos.x);
beepsource_clipboard.AddValue("settings_window_pos_y", source.settings_window_pos.y);
//filters
//ConfigNode _filter;
_filter = new ConfigNode();
_filter.name = "CHORUS";
_filter.AddValue("enabled", source.chorus_filter.enabled);
_filter.AddValue("dry_mix", source.chorus_filter.dryMix);
_filter.AddValue("wet_mix_1", source.chorus_filter.wetMix1);
_filter.AddValue("wet_mix_2", source.chorus_filter.wetMix2);
_filter.AddValue("wet_mix_3", source.chorus_filter.wetMix3);
beepsource_clipboard.AddNode(_filter);
_filter = new ConfigNode();
_filter.name = "DISTORTION";
_filter.AddValue("enabled", source.distortion_filter.enabled);
_filter.AddValue("distortion_level", source.distortion_filter.distortionLevel);
beepsource_clipboard.AddNode(_filter);
_filter = new ConfigNode();
_filter.name = "ECHO";
_filter.AddValue("enabled", source.echo_filter.enabled);
_filter.AddValue("delay", source.echo_filter.delay);
_filter.AddValue("decay_ratio", source.echo_filter.decayRatio);
_filter.AddValue("dry_mix", source.echo_filter.dryMix);
_filter.AddValue("wet_mix", source.echo_filter.wetMix);
beepsource_clipboard.AddNode(_filter);
_filter = new ConfigNode();
_filter.name = "HIGHPASS";
_filter.AddValue("enabled", source.highpass_filter.enabled);
_filter.AddValue("cutoff_freq", source.highpass_filter.cutoffFrequency);
_filter.AddValue("resonance_q", source.highpass_filter.highpassResonaceQ);
beepsource_clipboard.AddNode(_filter);
_filter = new ConfigNode();
_filter.name = "LOWPASS";
_filter.AddValue("enabled", source.lowpass_filter.enabled);
_filter.AddValue("cutoff_freq", source.lowpass_filter.cutoffFrequency);
_filter.AddValue("resonance_q", source.lowpass_filter.lowpassResonaceQ);
beepsource_clipboard.AddNode(_filter);
_filter = new ConfigNode();
_filter.name = "REVERB";
_filter.AddValue("enabled", source.reverb_filter.enabled);
_filter.AddValue("reverb_preset", source.reverb_filter.reverbPreset);
_filter.AddValue("dry_level", source.reverb_filter.dryLevel);
_filter.AddValue("room", source.reverb_filter.room);
_filter.AddValue("room_hf", source.reverb_filter.roomHF);
_filter.AddValue("room_lf", source.reverb_filter.roomLF);
_filter.AddValue("room_rolloff", source.reverb_filter.roomRolloff);
_filter.AddValue("decay_time", source.reverb_filter.decayTime);
_filter.AddValue("decay_hf_ratio", source.reverb_filter.decayHFRatio);
_filter.AddValue("reflections_level", source.reverb_filter.reflectionsLevel);
_filter.AddValue("reflections_delay", source.reverb_filter.reflectionsDelay);
_filter.AddValue("reverb_level", source.reverb_filter.reverbLevel);
_filter.AddValue("reverb_delay", source.reverb_filter.reverbDelay);
_filter.AddValue("diffusion", source.reverb_filter.diffusion);
_filter.AddValue("density", source.reverb_filter.density);
_filter.AddValue("hf_reference", source.reverb_filter.hfReference);
_filter.AddValue("lf_reference", source.reverb_filter.lFReference);
beepsource_clipboard.AddNode(_filter);
if (debugging) Debug.Log("[CHATR] single beepsource values copied to beepsource_clipboard");
}