コード例 #1
0
ファイル: FFRebuilder.xaml.cs プロジェクト: BrunoReX/xvid4psp
        private void SetFFInfo(string filepath)
        {
            try
            {
                //Сброс треков
                atracks = new ArrayList();
                vtracks = new ArrayList();
                atrack = 0;

                ff = new FFInfo();
                ff.Open(filepath);

                if (ff.info.Length > 0)
                {
                    string sortedinfo = "";
                    string[] lines = ff.info.ToString().Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
                    foreach (string line in lines)
                    {
                        if (!line.StartsWith("  configuration:") &&
                            !line.StartsWith("  lib") &&
                            !line.StartsWith("  built on") &&
                            !line.StartsWith("At least one output") &&
                            !line.StartsWith("This program is not") &&
                            line != "")
                            sortedinfo += line + Environment.NewLine;
                    }

                    text_info.Text = sortedinfo;
                    text_info.ScrollToEnd();
                }
                else
                    text_info.Clear();

                //Видео и аудио треки
                vtracks = ff.VideoStreams(); //Все видео
                atracks = ff.AudioStreams(); //Все аудио

                combo_atrack.Items.Clear();
                combo_atrack.Items.Add(new ComboBoxItem() { Content = "AUTO", ToolTip = Languages.Translate("Select audio track") });
                if (atracks.Count > 0)
                {
                    for (int i = 0; i < atracks.Count; i++)
                    {
                        ComboBoxItem item = new ComboBoxItem();
                        item.Content = "#" + (i + 1);
                        item.ToolTip = ff.StreamFull((int)atracks[i]);
                        combo_atrack.Items.Add(item);
                    }
                }
                combo_atrack.SelectedIndex = 0;
            }
            catch (Exception ex)
            {
                text_info.Text = Languages.Translate("Error") + ": " + ex.Message;
            }
            finally
            {
                CloseFF();
            }
        }