private void new_vessel_node(Vessel v)
{
//if (debugging) Debug.Log("[CHATR] new_vessel_node() START");
ConfigNode vessel_node = new ConfigNode();
//cn_vessel.name = v.id.ToString();
//temp_vessels_node = new ConfigNode();
vessel_node.name = "VESSEL";
vessel_node.AddValue("vessel_name", v.vesselName);
vessel_node.AddValue("vessel_id", v.id.ToString());
save_shared_settings(vessel_node);
/*
//
vessel_node.AddValue("main_window_pos_x", main_window_pos.x);
vessel_node.AddValue("main_window_pos_y", main_window_pos.y);
vessel_node.AddValue("ui_icon_pos_x", ui_icon_pos.x);
vessel_node.AddValue("ui_icon_pos_y", ui_icon_pos.y);
vessel_node.AddValue("main_gui_minimized", main_gui_minimized);
vessel_node.AddValue("skin_index", skin_index);
vessel_node.AddValue("active_menu", active_menu);
vessel_node.AddValue("remotetech_toggle", remotetech_toggle);
vessel_node.AddValue("chatter_freq", chatter_freq);
vessel_node.AddValue("chatter_vol_slider", chatter_vol_slider);
vessel_node.AddValue("chatter_sel_filter", chatter_sel_filter);
vessel_node.AddValue("show_chatter_filter_settings", show_chatter_filter_settings);
vessel_node.AddValue("show_sample_selector", show_sample_selector);
vessel_node.AddValue("chatter_reverb_preset_index", chatter_reverb_preset_index);
vessel_node.AddValue("chatter_filter_settings_window_pos_x", chatter_filter_settings_window_pos.x);
vessel_node.AddValue("chatter_filter_settings_window_pos_y", chatter_filter_settings_window_pos.y);
vessel_node.AddValue("quindar_toggle", quindar_toggle);
vessel_node.AddValue("quindar_vol_slider", quindar_vol_slider);
vessel_node.AddValue("sstv_freq", sstv_freq);
vessel_node.AddValue("sstv_vol_slider", sstv_vol_slider);
vessel_node.AddValue("sel_beep_src", sel_beep_src);
vessel_node.AddValue("sel_beep_page", sel_beep_page);
//Chatter sets
foreach (RBRAudioList chatter_set in chatter_array)
{
ConfigNode _set = new ConfigNode();
_set.name = "AUDIOSET";
_set.AddValue("directory", chatter_set.directory);
_set.AddValue("is_active", chatter_set.is_active);
vessel_node.AddNode(_set);
}
//filters
ConfigNode _filter;
_filter = new ConfigNode();
_filter.name = "CHORUS";
_filter.AddValue("enabled", chatter_chorus_filter.enabled);
_filter.AddValue("dry_mix", chatter_chorus_filter.dryMix);
_filter.AddValue("wet_mix_1", chatter_chorus_filter.wetMix1);
_filter.AddValue("wet_mix_2", chatter_chorus_filter.wetMix2);
_filter.AddValue("wet_mix_3", chatter_chorus_filter.wetMix3);
vessel_node.AddNode(_filter);
_filter = new ConfigNode();
_filter.name = "DISTORTION";
_filter.AddValue("enabled", chatter_distortion_filter.enabled);
_filter.AddValue("distortion_level", chatter_distortion_filter.distortionLevel);
vessel_node.AddNode(_filter);
_filter = new ConfigNode();
_filter.name = "ECHO";
_filter.AddValue("enabled", chatter_echo_filter.enabled);
_filter.AddValue("delay", chatter_echo_filter.delay);
_filter.AddValue("decay_ratio", chatter_echo_filter.decayRatio);
_filter.AddValue("dry_mix", chatter_echo_filter.dryMix);
_filter.AddValue("wet_mix", chatter_echo_filter.wetMix);
vessel_node.AddNode(_filter);
_filter = new ConfigNode();
_filter.name = "HIGHPASS";
_filter.AddValue("enabled", chatter_highpass_filter.enabled);
_filter.AddValue("cutoff_freq", chatter_highpass_filter.cutoffFrequency);
_filter.AddValue("resonance_q", chatter_highpass_filter.highpassResonaceQ);
vessel_node.AddNode(_filter);
_filter = new ConfigNode();
_filter.name = "LOWPASS";
_filter.AddValue("enabled", chatter_lowpass_filter.enabled);
_filter.AddValue("cutoff_freq", chatter_lowpass_filter.cutoffFrequency);
_filter.AddValue("resonance_q", chatter_lowpass_filter.lowpassResonaceQ);
vessel_node.AddNode(_filter);
_filter = new ConfigNode();
_filter.name = "REVERB";
_filter.AddValue("enabled", chatter_reverb_filter.enabled);
_filter.AddValue("reverb_preset", chatter_reverb_filter.reverbPreset);
_filter.AddValue("dry_level", chatter_reverb_filter.dryLevel);
_filter.AddValue("room", chatter_reverb_filter.room);
_filter.AddValue("room_hf", chatter_reverb_filter.roomHF);
_filter.AddValue("room_lf", chatter_reverb_filter.roomLF);
_filter.AddValue("room_rolloff", chatter_reverb_filter.roomRolloff);
_filter.AddValue("decay_time", chatter_reverb_filter.decayTime);
_filter.AddValue("decay_hf_ratio", chatter_reverb_filter.decayHFRatio);
_filter.AddValue("reflections_level", chatter_reverb_filter.reflectionsLevel);
_filter.AddValue("reflections_delay", chatter_reverb_filter.reflectionsDelay);
_filter.AddValue("reverb_level", chatter_reverb_filter.reverbLevel);
_filter.AddValue("reverb_delay", chatter_reverb_filter.reverbDelay);
_filter.AddValue("diffusion", chatter_reverb_filter.diffusion);
_filter.AddValue("density", chatter_reverb_filter.density);
_filter.AddValue("hf_reference", chatter_reverb_filter.hfReference);
_filter.AddValue("lf_reference", chatter_reverb_filter.lFReference);
vessel_node.AddNode(_filter);
foreach (RBRBeepSource source in beepsource_list)
{
ConfigNode beep_settings = new ConfigNode();
beep_settings.name = "BEEPSOURCE";
beep_settings.AddValue("precise", source.precise);
beep_settings.AddValue("precise_freq", source.precise_freq);
beep_settings.AddValue("loose_freq", source.loose_freq);
beep_settings.AddValue("volume", source.audiosource.volume);
beep_settings.AddValue("pitch", source.audiosource.pitch);
beep_settings.AddValue("current_clip", source.current_clip);
beep_settings.AddValue("sel_filter", source.sel_filter);
beep_settings.AddValue("show_settings_window", source.show_settings_window);
beep_settings.AddValue("reverb_preset_index", source.reverb_preset_index);
beep_settings.AddValue("settings_window_pos_x", source.settings_window_pos.x);
beep_settings.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);
beep_settings.AddNode(_filter);
_filter = new ConfigNode();
_filter.name = "DISTORTION";
_filter.AddValue("enabled", source.distortion_filter.enabled);
_filter.AddValue("distortion_level", source.distortion_filter.distortionLevel);
beep_settings.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);
beep_settings.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);
beep_settings.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);
beep_settings.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);
beep_settings.AddNode(_filter);
vessel_node.AddNode(beep_settings);
}
*/
vessel_settings_node.AddNode(vessel_node);
vessel_settings_node.Save(settings_path + "vessels.cfg");
//if (debugging) Debug.Log("[CHATR] new_vessel_node() :: vessel_node added to vessel_settings_node");
}