Example #1
0
        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);
            }
        }
Example #2
0
        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();
            }
        }