private void LoadFromProfile() { try { //Сбрасываем на дефолты bool cli_loaded = false; format = "AUTO"; vcodec = vcodecs.COPY; color = colorspace.YV12; aspect = "AUTO"; framerate = "AUTO"; acodec = acodecs.COPY; bits = "S16LE"; //atrack = 0; //Не сохраняется в пресете srate = "AUTO"; channels = "AUTO"; if (profile != "Default") { using (StreamReader sr = new StreamReader(Calculate.StartupPath + "\\presets\\ffrebuilder\\" + profile + ".txt", System.Text.Encoding.Default)) { string line; while (!sr.EndOfStream) { line = sr.ReadLine(); if (line == "[FORMAT]") format = sr.ReadLine().ToUpper(); else if (line == "[VCODEC]") vcodec = (vcodecs)Enum.Parse(typeof(vcodecs), sr.ReadLine(), true); else if (line == "[COLORSPACE]") color = (colorspace)Enum.Parse(typeof(colorspace), sr.ReadLine(), true); else if (line == "[ASPECT]") aspect = sr.ReadLine().ToUpper(); else if (line == "[FRAMERATE]") framerate = sr.ReadLine().ToUpper(); else if (line == "[ACODEC]") acodec = (acodecs)Enum.Parse(typeof(acodecs), sr.ReadLine(), true); else if (line == "[PCM_BITS]") bits = sr.ReadLine().ToUpper(); else if (line == "[SAMPLERATE]") srate = sr.ReadLine().ToUpper(); else if (line == "[CHANNELS]") channels = sr.ReadLine().ToUpper(); else if (line == "[COMMAND_LINE]") { text_cli.Text = sr.ReadLine(); cli_loaded = true; } } } } //Выставляем значения if (!combo_format.Items.Contains(format)) combo_format.Items.Add(format); combo_format.SelectedItem = format; combo_vcodec.SelectedItem = vcodec; combo_colorspace.SelectedItem = color; if (!combo_aspect.Items.Contains(aspect)) combo_aspect.Items.Add(aspect); combo_aspect.SelectedItem = aspect; if (!combo_framerate.Items.Contains(framerate)) combo_framerate.Items.Add(framerate); combo_framerate.SelectedItem = framerate; combo_acodec.SelectedItem = acodec; combo_bits.SelectedItem = bits; //combo_atrack.SelectedIndex = atrack; if (!combo_srate.Items.Contains(srate)) combo_srate.Items.Add(srate); combo_srate.SelectedItem = srate; if (!combo_channels.Items.Contains(channels)) combo_channels.Items.Add(channels); combo_channels.SelectedItem = channels; if (!cli_loaded || text_cli.Text.Trim() == "") UpdateCommandLine(); UpdateTracksMapping(); } catch (Exception ex) { //При ошибке загружаем дефолты if (profile != "Default") { ErrorException(Languages.Translate("Error loading profile") + " \"" + profile + "\": " + ex.Message + "\r\n" + Languages.Translate("Retrying with profile") + " \"Default\"..."); combo_profile.SelectedItem = profile = Settings.FFRebuilder_Profile = "Default"; LoadFromProfile(); return; } else ErrorException(Languages.Translate("Error loading profile") + " \"Default\": " + ex.Message); } }
private void combo_colorspace_SelectionChanged(object sender, SelectionChangedEventArgs e) { if ((combo_colorspace.IsDropDownOpen || combo_colorspace.IsSelectionBoxHighlighted) && combo_colorspace.SelectedItem != null) { //FFV1 и FFVHUFF не поддерживают RGB24 if ((vcodec == vcodecs.FFV1 || vcodec == vcodecs.FFVHUFF) && ((colorspace)combo_colorspace.SelectedItem) == colorspace.RGB24) { combo_colorspace.SelectedItem = color; return; } color = (colorspace)combo_colorspace.SelectedItem; UpdateCommandLine(); SetCustomProfile(); } }