public void SetSettings(XmlNode settings)
        {
            ConvertOldSettings(settings);
            var element = (XmlElement)settings;

            disableNbrSplitCheck = true;

            AutoStart         = SettingsHelper.ParseBool(settings["AutoStart"], DEFAULT_AUTOSTART);
            AutoReset         = SettingsHelper.ParseBool(settings["AutoReset"], DEFAULT_AUTORESET);
            AutoUpdatePresets = SettingsHelper.ParseBool(settings["AutoUpdatePresets"], DEFAULT_AUTOUPDATEPRESETS);

            if (settings["AutoSplitList"] != null)
            {
                CustomAutosplits.Clear();
                AutoSplitList customList = null;
                try { customList = AutoSplitList.FromXml(settings["AutoSplitList"], _autoSplitEnv); }
                catch { }
                if (customList != null)
                {
                    CustomAutosplits.AddRange(customList);
                }
            }

            Preset = SettingsHelper.ParseString(settings["Preset"], DEFAULT_PRESET_NAME);
            if (!updatedPresets)
            {
                if ((AutoUpdatePresets || !File.Exists(PRESETS_FILE_PATH)) && !CheckForComponentUpdate())
                {
                    if (DownloadPresetsFile())
                    {
                        LoadPresets();
                    }
                }
                updatedPresets = true;
            }
            UsePreset(Presets.FirstOrDefault(p => p.Name == Preset) ?? CustomAutosplits);

            LoadBearCartConfig();
            BearCartPBNotification    = SettingsHelper.ParseBool(settings["BearCartPBNotification"], DEFAULT_BEARCARTPBNOTIFICATION);
            PlayBearCartSound         = SettingsHelper.ParseBool(settings["PlayBearCartSound"], DEFAULT_PLAYBEARCARTSOUND);
            BearCartSoundPath         = SettingsHelper.ParseString(settings["BearCartSoundPath"], String.Empty);
            PlayBearCartSoundOnlyOnPB = SettingsHelper.ParseBool(settings["PlayBearCartSoundOnlyOnPB"], DEFAULT_PLAYBEARCARTSOUNDONLYONPB);
            if (_component.MediaPlayer != null)
            {
                _component.MediaPlayer.GeneralVolume = SettingsHelper.ParseInt(settings["Volume"], 100);
            }

            disableNbrSplitCheck = false;
            CheckNbrAutoSplits();
        }
        public XmlNode GetSettings(XmlDocument doc)
        {
            XmlElement settingsNode = doc.CreateElement("Settings");

            settingsNode.AppendChild(SettingsHelper.ToElement(doc, "Version", Assembly.GetExecutingAssembly().GetName().Version.ToString(3)));

            settingsNode.AppendChild(SettingsHelper.ToElement(doc, "AutoStart", AutoStart));
            settingsNode.AppendChild(SettingsHelper.ToElement(doc, "AutoReset", AutoReset));
            settingsNode.AppendChild(SettingsHelper.ToElement(doc, "Preset", Preset));
            settingsNode.AppendChild(SettingsHelper.ToElement(doc, "AutoUpdatePresets", AutoUpdatePresets));
            settingsNode.AppendChild(CustomAutosplits.ToXml(doc, "AutoSplitList"));

            SaveBearCartConfig();
            settingsNode.AppendChild(SettingsHelper.ToElement(doc, "BearCartPBNotification", BearCartPBNotification));
            settingsNode.AppendChild(SettingsHelper.ToElement(doc, "PlayBearCartSound", PlayBearCartSound));
            settingsNode.AppendChild(SettingsHelper.ToElement(doc, "BearCartSoundPath", BearCartSoundPath));
            settingsNode.AppendChild(SettingsHelper.ToElement(doc, "PlayBearCartSoundOnlyOnPB", PlayBearCartSoundOnlyOnPB));
            if (_component.MediaPlayer != null)
            {
                settingsNode.AppendChild(SettingsHelper.ToElement(doc, "Volume", _component.MediaPlayer.GeneralVolume));
            }

            return(settingsNode);
        }